2015-06-22 13 views
1

假设我想对mantissa大于0.3'上的数字和低于'下'的数字进行取整。如何在Java中自定义舍入数字?

我该如何在Java中做到这一点?

我想到的唯一的东西是Math.round(),但我似乎无法使其遵循一定的规则。

+4

尝试Math.round(x + 0.2),即只是提供偏移到常规舍入点 –

+0

感谢它的工作!但是,请您详细说明它如何做到这一点? – ridsatrio

回答

4

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

这应该适用于任意尾数。只需将下一个整数的偏移量添加到您的值并向下取整即可。 舍入由楼层完成。以下是Java API的说地板:

返回最大的(最接近正无穷大)double值, 小于或等于参数,并等于一个数学 整数。

该解决方案与@Thomas Stets中的解决方案类似,但由于四舍五入只在一个方向完成,所以它更易于理解。