Java中double四舍五入保留2位小数
时间: 2025-02-20 13:05:55 浏览: 82
### Java 中实现 Double 类型数值四舍五入并保留两位小数
在 Java 中有多种方式可以实现 `double` 类型数值的四舍五入并保留两位小数。以下是两种常用的方法:
#### 方法一:使用 DecimalFormat
通过创建 `DecimalFormat` 对象来格式化数字,指定模式为 `"#.00"` 可以确保输出总是带有两位小数。
```java
import java.text.DecimalFormat;
public class Main {
public static void main(String[] args) {
double value = 123.456;
DecimalFormat df = new DecimalFormat("#.00");
String formattedValue = df.format(value);
System.out.println(formattedValue); // 输出 "123.46"
}
}
```
这种方法简单直观,适合用于显示目的[^1]。
#### 方法二:使用 BigDecimal
利用 `BigDecimal` 的高精度计算能力,先将 `double` 转换成 `BigDecimal`,再调用其 `setScale()` 方法设置所需的小数位数以及舍入模式。
```java
import java.math.BigDecimal;
import java.math.RoundingMode;
public class Main {
public static void main(String[] args) {
double value = 111231.5585;
BigDecimal bd = new BigDecimal(Double.toString(value));
double roundedValue = bd.setScale(2, RoundingMode.HALF_UP).doubleValue();
System.out.println(roundedValue); // 输出 "111231.56"
}
}
```
此方法不仅能够精确控制舍入行为,而且避免了浮点运算可能带来的误差问题[^2]。
阅读全文
相关推荐


















