java中小数四舍五入
时间: 2024-09-14 14:05:36 浏览: 45
在Java中,对小数进行四舍五入通常使用`Math.round()`方法配合`java.math.BigDecimal`或`java.lang.Math`包下的其他函数来实现。这里有几个常用的方法:
1. **`Math.round(x)`**:这个方法直接对double类型的数值x进行四舍五入,返回值是long类型,如果结果在两个整数之间会根据舍入规则进行处理。例如:
```java
double num = 3.6;
long roundedNum = Math.round(num);
System.out.println(roundedNum); // 输出4
```
2. **`BigDecimal.setScale(int scale, RoundingMode roundingMode)`**:如果你需要更精确的小数控制,可以使用`BigDecimal`类,它可以设置保留的小数位数和舍入模式,如银行家舍入(RoundingMode.BANKER'S_ROUNDING):
```java
BigDecimal bd = new BigDecimal("3.6");
bdsetScale = bd.setScale(2, RoundingMode.HALF_UP); // 向上取整
System.out.println(bd.setScale(2)); // 输出3.60
```
3. **`Math.floor()` 和 `Math.ceil()`**:这两个方法分别向下取整和向上取整,也可以用于调整小数部分。
需要注意的是,`round()`方法对于无限大或NaN值的行为是未定义的,所以在使用前最好确保输入的有效性。
阅读全文