乘以100
回答
浮點數不能精確代表所有實數,浮點運算不能精確代表真正的算術運算這導致了許多令人驚訝的情況。
我建議改爲:https://en.wikipedia.org/wiki/Floating_point#Accuracy_problems
您可能需要使用BigDecimal避免這樣的問題。
BigDecimal不會完全代表1/3。沒有幫助。 – duffymo
它會返回問題中示例的正確數字。 – spickermann
spickerman - 感謝您的快速回答。還有幾個問題:如果浮點數對於簡單的算術運算非常不準確,那麼Float類有什麼意義?另外,有沒有辦法預測哪些浮動數字「不準確」,並且會返回預期結果,如23.8 * 100所做的那樣? – Doctore
- 1. ggplot百分比乘以100
- 2. 乘客:100%CPU
- 3. 如何獲得階乘(100)
- 4. 當我要求Python將數字乘以100時,它會打印數字100次?
- 5. 乘以100時出現的神祕計算錯誤
- 6. RDLC在生活環境中乘以100值
- 7. WPF XAML String.Format乘以100而不顯示'%'char
- 8. 如何在FormatString中使用百分比而不乘以100?
- 9. 爲什麼百分比格式說明符乘以100?
- 10. 在C#乘以雙100導致意想不到的答案
- 11. 乘以
- 12. 乘以
- 13. 爲什麼要乘以8乘以Flash?
- 14. 如何在C++中將一個非常小的數乘以100倍以上?
- 15. 乘以大數
- 16. 乘以數值
- 17. 乘以1-15
- 18. 乘以權重
- 19. 乘以SQL
- 20. 乘以在python
- 21. 乘以2列
- 22. Negative乘以imagemagick?
- 23. 乘以-1 VBA
- 24. 乘以串
- 25. 乘以二除
- 26. 乘以權重
- 27. 乘以整數
- 28. 乘以串
- 29. 乘以加數
- 30. 乘以R中
你不能再更準確地表示0.1的二進制比你可以1/3的十進制:http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html – duffymo
問題不明確。你的意思是「爲什麼答案不同」?這是因爲'33.8'和'23.8'是不同的。 – sawa
@duffymo - 但33.8和23.8都包含「0.1」,但23.8 * 100返回「期望」值。爲什麼? – Doctore