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
,但不会相同。
请建议我如何获得确切的价值。
答案 0 :(得分:7)
您想要cout.precision
http://www.cplusplus.com/reference/iostream/ios_base/precision/
另请注意,d2不是1234.099999,而d1不是1234.1
浮点数会引入舍入误差,这就是为什么它们会默认情况下舍入到较少的位置,以尝试显示有意义的结果。