bigdecimal去除小数
时间: 2024-09-18 18:09:09 浏览: 42
BigDecimal加减乘除计算
`BigDecimal` 类在 Java 中用于精确的十进制算术运算,如果想要去除 `BigDecimal` 对象的小数部分,通常我们会使用它的 `setScale()` 或 `stripTrailingZeros()` 方法。
1. `setScale(int scale, RoundingMode roundingMode)` 方法可以设置舍入模式并指定保留的小数位数。如果不传递 `roundingMode` 参数,默认会采用 `RoundingMode.HALF_UP` 即四舍五入。例如:
```java
BigDecimal bd = new BigDecimal("123.456");
bd.setScale(0, RoundingMode_DOWN); // 去除小数,向下取整(去掉多余的小数)
```
这将把 "123.456" 转换为 "123"。
2. `stripTrailingZeros()` 方法则直接去除小数点后的零,不会改变数值本身:
```java
BigDecimal bd = new BigDecimal("123.000");
bd.stripTrailingZeros(); // bd 现在是 "123"
```
注意:`stripTrailingZeros()` 只适用于尾部有零的情况,对于含有非零数字后跟零的情况它无法处理。
阅读全文