不想将int转换为Bigdecimal呢
时间: 2023-12-17 19:05:02 浏览: 31
如果你不想将 `int` 转换为 `BigDecimal`,也可以使用 `BigDecimal` 的另一个重载方法 `divide(BigDecimal divisor, int scale, int roundingMode)`,其中第一个参数是除数,第二个参数是保留小数位数,第三个参数是舍入模式。这个方法也可以实现 `BigDecimal` 除以一个 `int` 的运算。
以下是一个示例代码:
```java
BigDecimal bigDecimal = new BigDecimal("10");
int divisor = 3;
BigDecimal result = bigDecimal.divide(new BigDecimal(String.valueOf(divisor)), 2, RoundingMode.HALF_UP);
System.out.println(result);
```
上述代码中,首先创建一个 `BigDecimal` 对象 `bigDecimal`,表示被除数为 10。然后定义一个 `int` 类型的变量 `divisor`,表示除数为 3。
接着,调用 `divide` 方法进行除法运算,第一个参数使用 `new BigDecimal(String.valueOf(divisor))` 表示将 `divisor` 转换成 `BigDecimal` 类型,第二个参数为保留小数位数,第三个参数为舍入模式,这里使用 `RoundingMode.HALF_UP` 表示四舍五入。
最后,将结果输出到控制台,输出结果为 `3.33`。
需要注意的是,由于 `BigDecimal` 是不可变对象,因此调用 `divide` 方法并不会改变原有的 `BigDecimal` 对象,而是返回一个新的 `BigDecimal` 对象,表示计算后的结果。