c++ - 从txt文件C++读取浮点错误值

标签 c++ floating-point

我有一个值的文本文件:

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/

相关文章:

c++ - 解析包含顺序

python - 不能在 pygame.draw.circle 中使用变量?

c++ - 将 double 舍入到最接近的非次正规表示

math - 稍微转向浮点 (im) 精度,第 1 部分

c++ - 无法在 Eclipse 中使用 C++ 连接 mySQL 数据库

c++ - 如何在 C++ 函数中构造二叉树并返回它?

c++ - 用于在 C 或 C++ 中解析 XML 的跨 Linux 和 Windows 的通用 XML 库是什么?

C++:编译器错误覆盖来自 DLL 的函数

c - 非规范化 float 被检测为 NaN。为什么?

c - 对未设置的值使用 IEEE754 浮点 NaN 是个好主意吗?