【发布时间】:2019-01-14 14:43:03
【问题描述】:
我正在将存储库从 Ruby 版本 2.3.3 升级到 2.5.1。测试失败,我已将原因缩小到以下行为:
In version 2.3.3
1.34875.round(4)
=> 1.3487
In version 2.5.1
1.34875.round(4)
=> 1.3488
现在,我知道this change,但我认为这无关紧要,因为 a) 默认行为被单独保留,b) 观察到的更改与建议的默认更改相反。我也知道浮点数不是准确存储有限小数的好方法,并且精度的一些变化可能解释了为什么会发生这种变化。但是我不知道,也不知道怎么查。
【问题讨论】:
-
您的第一个示例看起来被截断而不是四舍五入...
-
@Anthony 不过,这就是你在 2.3.3 中得到的结果
标签: ruby floating-point upgrade compatibility