Java:double类型的数据四舍五入保留两位小数
时间: 2025-03-04 19:32:31 浏览: 160
在Java中,如果你想对`double`类型的数值进行四舍五入并保留两位小数,有几种常见的做法:
### 使用 `Math.round()` 函数结合乘除法
这是最直接的方式之一。首先将数字乘以100,然后使用`Math.round()`函数取整,再除以100返回结果。
```java
public class Main {
public static void main(String[] args) {
double num = 12.34567;
// 四舍五入到小数点后第二位
double result = Math.round(num * 100) / 100.0;
System.out.println(result); // 输出:12.35
}
}
```
### 利用 `BigDecimal`
更推荐的做法是利用`BigDecimal`类来进行精确的浮点运算处理,并通过其提供的API设置精度以及指定舍入模式(如四舍五入)。
```java
import java.math.BigDecimal;
import java.math.RoundingMode;
public class Main {
public static void main(String[] args){
double num = 12.34567;
BigDecimal bd = new BigDecimal(Double.toString(num));
bd = bd.setScale(2, RoundingMode.HALF_UP);
double roundedValue = bd.doubleValue();
System.out.println(roundedValue); // 输出:12.35
}
}
```
这两种方法都可以达到目的,但是当涉及到金融计算等需要高度准确性的场景时建议采用第二种方案即使用`BigDecimal`来保证数据不会因为二进制表示带来的误差而影响最终的结果。
阅读全文
相关推荐


















