在ruby中输入
puts (10.12 * 100).to_i
结果将会是1011,是不是有点不可思议
如何解决这个问题呢?
require 'bigdecimal'
puts (BigDecimal.new(10.12.to_s) * 100).to_i
转化成BigDecimal类型再处理,这样就没有问题了。
本文探讨了Ruby中浮点数运算可能导致的误差问题,并提供了一种解决方案:使用BigDecimal库来确保计算精度。
在ruby中输入
puts (10.12 * 100).to_i
结果将会是1011,是不是有点不可思议
如何解决这个问题呢?
require 'bigdecimal'
puts (BigDecimal.new(10.12.to_s) * 100).to_i
转化成BigDecimal类型再处理,这样就没有问题了。

被折叠的 条评论
为什么被折叠?