Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试阅读以下内容:
110134458.602 7 20957861.900
我的格式行目前如下:
READ(7,110,END=999) L1,C1,D1 write(*,*) L1,C1,D1 110 FORMAT(F14.3,1x,F1.0,2x,F14.3)
但是我收到的输出是:
110134458.60200000 7.0000000000000000 20957861.899999999
为什么我有这么多小数位,为什么最终值不匹配?谢谢!
看起来您正在正确读取这些值。对于输出的列表导向 IO,编译器通常会使用数字类型的最大位数。并非所有十进制值都具有精确的有限精度二进制等价物——这可能是您所看到的第三个数字。如果您对输出使用格式语句,指定较少的数字,则该值将被四舍五入并显示正确。