【问题标题】:Print a certain number of digits after decimal point in PRINT statement in FORTRAN在 FORTRAN 的 PRINT 语句中打印小数点后一定位数
【发布时间】:2013-02-25 10:58:25
【问题描述】:

我有一个双精度变量 x = 10,当我使用以下语句时: Print(,) x Fortran 将打印出一个冗长的数字 10.0000000000000 。我只想要小数点 (.) 后的 2 位数字,即 10.00 我应该怎么做,而不是使用 Print(,) ?谢谢大家。

【问题讨论】:

    标签: fortran


    【解决方案1】:
       X=10
       WRITE(*,44) X
    44 FORMAT(F4.2)
    

    我认为 FORMAT 语句就是您所追求的。 F4.2 表示要在 4 列中写入小数点后 2 位的实数。

    【讨论】:

    • 嗨彼得,我听从了你的建议,但没有奏效,而是打印出 4 个星号符号。我正在使用英特尔 fortran
    • 啊,我找到了问题所在。谢谢彼得,是的,我只需要查找 FORMAT 语句。谢谢
    • 但是,如果您的实际值大于 10,则需要至少 5 列打印 2 位小数。如果您只允许 4 列,Fortran 将打印星号,因为该数字不适合给定的列数。 (与其他语言相比,如果数字不适合,fortran 不会自动扩展字段宽度。)
    • 谢谢@BálintAradi,你说得非常清楚,现在我明白了——谢谢
    • 为了完整起见,您不需要单独的语句 - Write(*,'(f4.2)') X 也可以。在这种情况下,格式只是一个字符串,因此您可以将其替换为允许您动态构建格式的变量,从而避免“我的上帝,它充满了星星!”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多