我有一个值的文本文件:
133.25 129.40 41.69 2.915
当我读到它时:
fscanf(File, "%f", &floatNumber[i]);
我得到这些值:
1.3325000000000000e+002, 1.2939999389648437e+002, 4.1689998626708984e+001 2.9149999618530273e+000
第一个值没问题,但其他三个值为什么不同?
最佳答案
值是相同的,您需要更改 printf 中的特定格式。
此外, float 具有离散精度,因此无法表示 任意任意 float ,精度无限。
这是 IEEE 规范中众所周知的问题。
关于c++ - 从txt文件C++读取浮点错误值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14913043/