我之前从未使用过漂浮物,而我正在处理的当前项目需要它们。我得到了几年前我学到的奇怪问题,但却忘记了为什么会这样。
在乘法或添加花车后我的结果不是它们应该的结果。
这是我的代码:
void main ()
{
//Example 1 - ERROR
float a=16937.6;
float b=112918;
float total=b+a;
cout<<total<<endl; //Outputs 129896 - rounds up and loses decimal (129855.6)
//Example 2 - Error
float c=247.82;
float d=9995.2;
float total2=c+d;
cout<<total2<<endl; //Outputs 10243 - loses all decimals (10243.02)
system ("pause");
}
答案 0 :(得分:7)
您的问题不是小数精度 - 它是用于输出值的格式。
尝试:
cout << setiosflags(ios::fixed) << setprecision(2) << x;
答案 1 :(得分:4)