2017-07-14 89 views
-11

我已经添加了两个双号添加双精度丢失

double a=4.0; 
double b=4.0; 
cout<<a+b; 

答案是8,但要求8.0。

+6

你失去了什么精度? – TZHX

+6

请注意,8.0和8是完全相同的数字 - 它们具有相同的按位表示。它们无法区分。如果你想指定一个*输出格式*这是另一回事。 –

+0

但我已解决hackerrank问题。在那里测试用例接受8.0的值不是8.他没有提交答案 –

回答

2

我相信你想要的东西是这样的:

cout << std::setprecision(1) << a+b;