main()
{
double d1 = 1234.1;
cout << "d1 = 1234.1 --> " << d1 << endl;
double d2 = 1234.099999;
cout << "d2 = 1234.099999 --> " << d2 << endl;
}
Run Code Online (Sandbox Code Playgroud)
输出:
d1 = 1234.1 --> 1234.1
d2 = 1234.099999 --> 1234.1
Run Code Online (Sandbox Code Playgroud)
我实际上想打印确切的值d2,即1234.099999但不是相同的.
请建议我如何获得确切的价值.
你想要cout.precision http://www.cplusplus.com/reference/iostream/ios_base/precision/
另请注意,d2不是1234.099999,而d1不是1234.1
浮点数引入舍入误差,这就是为什么它们默认情况下舍入到较少的位置,以尝试显示有意义的结果.