有人可以解釋為什么乘以100會得到一個不太準確的結果但是乘以10會得到更準確的結果嗎?± % scLoading development environment (Rails 3.0.1)>> 129.95 * 10012994.999999999998>> 129.95*101299.5>> 129.95*10*1012995.0
3 回答

慕田峪4524236
TA貢獻1875條經驗 獲得超5個贊
沒有完全等于的浮點數129.95。所以你的語言使用的是一個接近它的值。當該值乘以100時,結果接近12995,但它恰好不等于12995.(它也不完全等于它代替的原始值的100倍129.95。)所以你的翻譯打印出一個十進制數接近(但不等于)的值,129.95 * 100它表示它不完全是12995.它恰好129.95 * 10恰好等于1299.5。這主要是運氣。
最重要的是,從不期望任何浮點運算的平等,只有“接近”。
- 3 回答
- 0 關注
- 693 瀏覽
添加回答
舉報
0/150
提交
取消