我目前在 FORTRAN 77 中搞乱,我遇到了一个我似乎无法弄清楚的问题。我正在尝试从类似于以下内容的文件中读取:
000120 Description(s) here 18 7 10.15
000176 Description(s) here 65 20 56.95
...
每行的最后一列是货币金额(从不大于 100)。我正在尝试使用类似于下面的代码来读取文件
integer pid, qty, min_qty
real price
character*40 descrip
open(unit=2, file='inventory.dat', status='old')
read(2, 100, IOSTAT=iend) pid, descript, qty, min_qty, price
100 format(I11, A25, I7, I6, F5)
一切似乎都读得很好,除了最后一列。当我检查价格的值时,例如,第二行;我得到的不是 56.95,而是 56.8999999999。
现在,我知道我可能有尾随的 9 或诸如此类的东西,因为它并不完全精确,但它不应该更接近 95 美分吗?也许我做错了什么,我不确定。希望我不会被这样运行的程序卡住!任何帮助是极大的赞赏!