读书人

java怎么做到四舍五入

发布时间: 2012-08-28 12:37:01 作者: rapoo

java如何做到四舍五入

java如何取得四舍五入的整数呢?其实Math包已经提供给你一个非常好的方法:round()

以下是jdk api的话:

round
public static int round(float?a)
返回最接近参数的 int。结果将舍入为整数:加上 1/2,对结果调用 floor 并将所得结果强制转换为 int 类型。换句话说,结果等于以下表达式的值:

?

(int)Math.floor(a + 0.5f)

特殊情况如下:

如果参数为 NaN,那么结果为 0。 如果结果为负无穷大或任何小于等于 Integer.MIN_VALUE 的值,那么结果等于 Integer.MIN_VALUE 的值。 如果参数为正无穷大或任何大于等于 Integer.MAX_VALUE 的值,那么结果等于 Integer.MAX_VALUE 的值。

?

参数:a - 要舍入为整数的浮点值。 返回:舍入为最接近的 int 值的参数值。另请参见:Integer.MAX_VALUE, Integer.MIN_VALUE<!-- -->round
public static long round(double?a)
返回最接近参数的 long。结果将舍入为整数:加上 1/2,对结果调用 floor 并将所得结果强制转换为 long 类型。换句话说,结果等于以下表达式的值:

?

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

特殊情况如下:

如果参数为 NaN,那么结果为 0。 如果结果为负无穷大或任何小于等于 Long.MIN_VALUE 的值,那么结果等于 Long.MIN_VALUE 的值。 如果参数为正无穷大或任何大于等于 Long.MAX_VALUE 的值,那么结果等于 Long.MAX_VALUE 的值。

?

参数:a - 舍入为 long 的浮点值。 返回:舍入为最接近的 long 值的参数值。另请参见:Long.MAX_VALUE, Long.MIN_VALUE

这里涉及到一个方法:floor(),他是取得小于当前小数的最大整数;还有加上1/2这里运用的很巧妙

?

读书人网 >编程

热点推荐