BigDecimal 实现四舍六入五成双
时间: 2023-08-03 22:31:10 浏览: 374
java 四舍五入 需要的朋友看看
4星 · 用户满意度95%
是的,BigDecimal 类可以实现四舍六入五成双的功能。下面是一个示例代码,可以将一个 double 类型的数值转换为 BigDecimal 类型,并使用 setScale 方法来实现四舍六入五成双的舍入规则。
```java
double value = 1.235;
BigDecimal bd = new BigDecimal(value);
bd = bd.setScale(2, RoundingMode.HALF_EVEN);
System.out.println(bd);
```
在这个示例中,我们将 double 类型的数值 1.235 转换为 BigDecimal 类型的对象 bd。然后,使用 setScale 方法将 bd 舍入到两位小数,并使用 RoundingMode.HALF_EVEN 作为舍入规则,即四舍六入五成双。最后,打印出 bd 的值,结果为 1.24。
需要注意的是,在使用 BigDecimal 进行运算时,应该尽量避免使用 double 或 float 类型,因为这些类型的运算可能会产生舍入误差。最好使用 BigDecimal 类型进行运算,以减少误差的发生。
阅读全文