java中Bigdecimal保留两位小数
时间: 2023-03-28 19:02:27 浏览: 290
可以使用setScale方法来设置保留小数位数,例如:BigDecimal bd = new BigDecimal("3.1415926"); bd = bd.setScale(2, BigDecimal.ROUND_HALF_UP); 这样就可以将bd保留两位小数了。
相关问题
java中bigdecimal保留两位小数
以下是两种在Java中使用BigDecimal保留两位小数的方法:
1. 使用DecimalFormat类:
```java
BigDecimal money = new BigDecimal("68686887");
DecimalFormat decimal = new DecimalFormat("#0.00");
decimal.setRoundingMode(RoundingMode.DOWN);
System.out.println(decimal.format(money)); // 输出:68686887.00
```
2. 使用setScale方法:
```java
BigDecimal number = new BigDecimal("3.1415926");
BigDecimal roundedNumber = number.setScale(2, RoundingMode.HALF_UP);
System.out.println(roundedNumber); // 输出:3.14
```
java实现BIgDecimal保留两位小数
可以使用BigDecimal的setScale方法来实现保留两位小数。
例如,将一个double类型的变量d保留两位小数:
```java
double d = 3.1415926;
BigDecimal bd = new BigDecimal(d);
BigDecimal result = bd.setScale(2, RoundingMode.HALF_UP);
System.out.println(result);
```
输出结果为:3.14
其中,setScale方法接收两个参数,第一个参数为保留小数位数,第二个参数为舍入模式,常用的有四种:
- RoundingMode.UP:向远离零的方向舍入
- RoundingMode.DOWN:向靠近零的方向舍入
- RoundingMode.CEILING:向正无穷大的方向舍入(即大于或等于给定数字的最小整数)
- RoundingMode.FLOOR:向负无穷大的方向舍入(即小于或等于给定数字的最大整数)
在上面的例子中,我们使用了RoundingMode.HALF_UP,它表示四舍五入。如果想要保留更多或更少的小数位数,只需要修改第一个参数即可。
阅读全文