java中double取4位小数
时间: 2025-03-17 08:08:39 浏览: 61
在Java中,如果需要将 `double` 类型的数据保留到小数点后四位,可以采用以下几种方法:
### 方法一:使用 `String.format`
```java
double num = 12.3456789;
String result = String.format("%.4f", num);
System.out.println(result); // 输出:12.3457 (四舍五入)
```
此方法会将结果格式化成字符串形式,并对小数部分进行四舍五入。
---
### 方法二:使用 `DecimalFormat`
```java
import java.text.DecimalFormat;
double num = 12.3456789;
DecimalFormat df = new DecimalFormat("#.0000");
String result = df.format(num);
System.out.println(result); // 输出:12.3457 (同样会四舍五入)
```
这里通过指定模式 `"#.0000"` 来控制输出的小数位数。
---
### 方法三:使用 `BigDecimal`
对于更精确的计算需求,推荐使用 `BigDecimal` 进行处理。
```java
import java.math.BigDecimal;
import java.math.RoundingMode;
double num = 12.3456789;
BigDecimal bd = new BigDecimal(num).setScale(4, RoundingMode.HALF_UP);
double result = bd.doubleValue();
System.out.println(result); // 输出:12.3457
```
这种方式不仅可以设置精度,还可以明确选择所需的进制规则(如向上、向下或四舍五入等)。
---
以上三种方式都可以实现对 `double` 数据取四位小数的操作。如果你只是希望显示结果而不需要改变实际值,则可以选择前两种;若涉及数值存储及进一步运算建议选用第三种方案。
阅读全文
相关推荐


















