我在飛鏢中得到不尋常的乘法結果。
var val = 588.82;
print(val * 100); //result 58882.00000000001
這是什么原因,我怎樣才能得到正確的答案?
uj5u.com熱心網友回復:
這個“問題”來自 IEEE 754 標準,即浮點。
簡而言之,許多小數 double 值并不精確。
588.82 并不是真正的 588.82,如果你想要正確的值,你可能應該用兩位小數將乘法的結果四舍五入。
uj5u.com熱心網友回復:
void main() {
var val = 588.82;
print((val * 100).toInt());
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/409970.html
標籤:
上一篇:嘗試在AndroidStudio中運行顫振應用程式時出錯
下一篇:無法捕捉例外。獲取未處理的例外
