始终用于BigDecimal检查数字的小数部分以避免浮点错误:
require 'bigdecimal'
BigDecimal.new(number).frac == BigDecimal("0.5")
Run Code Online (Sandbox Code Playgroud)
例如:
BigDecimal.new("0.5").frac == BigDecimal("0.5")
# => true
BigDecimal.new("1.0").frac == BigDecimal("0.5")
# => false
Run Code Online (Sandbox Code Playgroud)
一个更通用的解决方案,看看一个数字是否完整:
BigDecimal.new("1.000000000000000000000000000000000000000001").frac.zero?
# => false
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13133 次 |
| 最近记录: |