main()
{
double d1 = 1234.1;
cout << "d1 = 1234.1 --> " << d1 << endl;
double d2 = 1234.099999;
cout << "d2 = 1234.099999 --> " << d2 << endl;
}
输出:
d1 = 1234.1 --> 1234.1
d2 = 1234.099999 --> 1234.1
我实际上想打印 d2
的确切值,即 1234.099999
但结果不一样。
请建议我如何获得准确的值。
最佳答案
你想要cout.precision
http://www.cplusplus.com/reference/iostream/ios_base/precision/
另请注意,d2 不完全是 1234.099999,d1 也不完全是 1234.1
float 会引入舍入误差,这就是为什么它们默认舍入到较少的位置,以尝试显示有意义的结果。
关于c++ - 如何在 C++ 中保持 Double 的精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5191018/