我從來沒有真正使用過漂浮物,並且我正在處理的當前項目需要它們。我收到了幾年前我瞭解到的奇怪問題,但卻忘記了爲什麼會發生這種情況。爲什麼我的浮點值失去精度並丟失小數?下面的示例代碼
我的結果乘法或增加浮動後不是他們應該是。
這裏是我的代碼:
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");
}
http://en.wikipedia.org/wiki/Floating_point準確性問題的部分是你在找什麼。 – Almo 2012-02-29 21:22:45
不,我認爲在這種情況下輸出不正確 – user1147223 2012-02-29 21:33:37