乘以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