![]() |
1
0
看起来像一个简单的案例 binary floating point imprecision .在一台机器上你得到40.49999999,四舍五入到40;在另一台机器上你得到40.500000000001,四舍五入到41。 如果您需要精确的数字,那么不应该使用二进制浮点。您可以使用定点小数或十进制浮点。
编辑:你说你用的是bigdecimal。为什么不使用
|
![]() |
2
2
使用怎么样
|
![]() |
3
1
改用%.0g |
![]() |
4
1
Scottj的答案并不能解释你的问题——40.5可以用二进制表示。可能发生的情况是:Windows的printf“向上取整一半”,Ubuntu的printf“向上取整一半”。 |
![]() |
cluster1 · 采取独立的新行动的好处是什么? 5 月前 |
![]() |
Robert · 使用JSON或哈希时,将NULL替换为NIL 6 月前 |
![]() |
Fred Willmore · Rails控制器不呈现任何模板 1 年前 |
![]() |
Diogo Amaral · 实现API请求的正确方式 1 年前 |
![]() |
Meknassih · 在控制器方法中分配给模型没有任何作用 1 年前 |
![]() |
Michael Ding · Rails上的默认会话到期问题 1 年前 |
|
Flávio · 基于另外两个生成数组 1 年前 |