gpt4 book ai didi

c++ - c++ 中的 setprecision 是否是圆的?如果是这样,为什么我会看到这个?

转载 作者:可可西里 更新时间:2023-11-01 15:47:41 26 4
gpt4 key购买 nike

当我预期为 0.29848 时,以下代码片段输出 0.29847:

double f = 0.298475;
cout << setprecision(5) << f << endl;

然而,对于其他示例,我观察到四舍五入:

double f = 0.123459;
cout << setprecision(5) << f << endl;

输出:0.12346

double f = 0.123454;
cout << setprecision(5) << f << endl;

输出:0.12345

最佳答案

数字 0.298475 不能完全用 double 表示(因为它不是分母为 2 的幂的分数,即 11939/40000),并且实际存储的数字实际上更接近 0.29847 而不是 0.29848。

关于c++ - c++ 中的 setprecision 是否是圆的?如果是这样,为什么我会看到这个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10922366/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com