Java 中的 Math.round() 方法
Math.round(4816.5)
返回 4817。
我只想在小数 > 5 并且不 >= 5 时向上舍入。所以在这里,我需要结果为4816。
请给我解决方案。
Math.round(4816.5)
is returning 4817.
I want to round up only if decimal is >5 and not >=5. So here, I need result as 4816.
Please give me solutions.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
Math.round(n)
与(long) Math.floor(n + 0.5)
基本相同,因此您只需稍微修改该算法即可:Math.round(n)
is basically the same as(long) Math.floor(n + 0.5)
so you can just modify that algorithm slightly:使用双重否定:
Use a double negative:
使用 HALF_DOWN 的 RoundingMode 并让 Java 处理其余的事情:
Use a RoundingMode of HALF_DOWN and let Java take care of the rest: