当前位置:  开发笔记 > 编程语言 > 正文

舍入Java中的负数

如何解决《舍入Java中的负数》经验,为你挑选了3个好方法。

根据维基百科在舍入负数时,您可以舍入绝对数.因此,通过这种推理,-3.5将四舍五入为-4.但是当我使用java.lang.Math.round(-3.5)返回-3时.有人可以解释一下吗?



1> sblundy..:

根据javadoc

返回与参数最接近的long.结果通过添加1/2舍入为整数,取结果的最低值,并将结果转换为long类型.换句话说,结果等于表达式的值:

(long)Math.floor(a + 0.5d)

从概念上讲,你舍.换句话说,对于大于该值的下一个整数,-3大于-3.5,而-4小于-3.



2> Dave Costa..:

有多种舍入方法; 你正在看的那个称为对称算术舍入(正如它所述).您所指的部分指出:"这种方法通常用于数学应用,例如会计.它通常在小学数学课程中教授." 这似乎承认,这不是全球商定的规则,而是最常见的规则.

就个人而言,我不记得在学校里曾经被教过这种规则.我对舍入的理解一直是.5被舍入,无论数字的符号如何.显然,Java的作者有相同的理解.这是非对称算术舍入.

不同的工具和语言可能使用不同的舍入方案.Excel显然使用对称方法.

(总的来说,我建议如果你发现维基百科与经验之间存在冲突,你可以在别处寻找信息.维基百科并不完美.)



3> 小智..:

对于它的价值,java.math.BigDecimal如果你需要更多控制那种东西,可以选择舍入模式.

推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有