BigDecimal怎么用
时间: 2023-09-22 14:10:55 浏览: 80
BigDecimal是Java中的一个高精度数字处理类,常用于精确计算和金额处理。可以通过以下步骤来使用BigDecimal:
1. 导入java.math.BigDecimal类。
2. 创建一个BigDecimal对象,可以使用字符串或double类型的构造函数。
```
BigDecimal bigDecimal1 = new BigDecimal("123456789.123456789");
BigDecimal bigDecimal2 = new BigDecimal(123456789.123456789);
```
3. 进行加减乘除等运算,注意BigDecimal是不可变的,每次运算都会返回一个新的BigDecimal对象。
```
BigDecimal result1 = bigDecimal1.add(bigDecimal2); // 加法
BigDecimal result2 = bigDecimal1.subtract(bigDecimal2); // 减法
BigDecimal result3 = bigDecimal1.multiply(bigDecimal2); // 乘法
BigDecimal result4 = bigDecimal1.divide(bigDecimal2, 10, RoundingMode.HALF_UP); // 除法,保留10位小数,四舍五入
```
4. 使用compareTo方法进行比较,返回值为1、0或-1。
```
BigDecimal bigDecimal3 = new BigDecimal("123456789.123456788");
int compareResult = bigDecimal1.compareTo(bigDecimal3); // 比较大小,返回1表示大于,0表示等于,-1表示小于
```
5. 使用setScale方法设置小数位数,可以选择四舍五入或直接舍弃。
```
BigDecimal result5 = bigDecimal1.setScale(5, RoundingMode.HALF_UP); // 设置小数位数为5,四舍五入
BigDecimal result6 = bigDecimal1.setScale(2, RoundingMode.DOWN); // 设置小数位数为2,直接舍弃
```
6. 使用doubleValue或intValue方法将BigDecimal对象转换为double或int类型。
```
double doubleValue = bigDecimal1.doubleValue(); // 转换为double类型
int intValue = bigDecimal1.intValue(); // 转换为int类型
```
阅读全文