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

How to do custom rounding of numbers in Java?

假设我想对 mantissa 大于 0.3 'up' 和小于 'down' 的数字进行舍入。

如何在 Java 中完成?

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

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

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

Returns the largest (closest to positive infinity) double value that is less than or equal to the argument and is equal to a mathematical integer.

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