如何在Java中对数字进行自定义舍入?

问题描述 投票:0回答:2

假设我想对尾数大于0.3“向上”的数字和低于“向下”的数字进行舍入。

我怎样才能用Java做到这一点?

我脑子里唯一想到的是

Math.round()
,但我似乎无法让它遵循一定的规则。

java rounding
2个回答
11
投票

Math.floor(x+0.7)
应该这样做。

这应该适用于任意尾数。只需将下一个整数的偏移量添加到您的值并向下舍入即可。 舍入是按楼层进行的。这是 java API 对地板说的话:

返回最大(最接近正无穷大)的双精度值 小于或等于参数并且等于数学 整数。

此解决方案与@Thomas Stets 的解决方案类似,但恕我直言,它更容易理解,因为舍入仅在一个方向上完成。


0
投票

如果变量未知怎么办?

© www.soinside.com 2019 - 2024. All rights reserved.