BigDecimal 类型的计算方法

1、加法(add)

使用 add 方法将两个 BigDecimal 对象相加。

BigDecimal num1 = new BigDecimal("10.5");
BigDecimal num2 = new BigDecimal("20.3");
BigDecimal result = num1.add(num2);
System.out.println("加法结果:" + result); // 输出:加法结果:30.8

2、减法(subtract)

使用 subtract 方法将一个 BigDecimal 对象减去另一个。

BigDecimal num1 = new BigDecimal("30.8");
BigDecimal num2 = new BigDecimal("10.5");
BigDecimal result = num1.subtract(num2);
System.out.println("减法结果:" + result); // 输出:减法结果:20.3

3、乘法(multiply)

使用 multiply 方法将两个 BigDecimal 对象相乘。

BigDecimal num1 = new BigDecimal("2.5");
BigDecimal num2 = new BigDecimal("3.2");
BigDecimal result = num1.multiply(num2);
System.out.println("乘法结果:" + result); // 输出:乘法结果:8.0

4、除法(divide)

使用 divide 方法将一个 BigDecimal 对象除以另一个。需要指定舍入规则,例如保留小数位数。

BigDecimal num1 = new BigDecimal("10.0");
BigDecimal num2 = new BigDecimal("3.0");
BigDecimal result = num1.divide(num2, 2, RoundingMode.HALF_UP);
System.out.println("除法结果:" + result); // 输出:除法结果:3.33

5、取余数(remainder)

使用 remainder 方法获取一个 BigDecimal 对象除以另一个的余数。

BigDecimal num1 = new BigDecimal("10.0");
BigDecimal num2 = new BigDecimal("3.0");
BigDecimal remainder = num1.remainder(num2);
System.out.println("余数:" + remainder); // 输出:余数:1.0

6、幂运算(pow )

pow方法返回当前 BigDecimal 的 n 次幂

BigDecimal base = new BigDecimal("2");
int exponent = 3;
BigDecimal result = base.pow(exponent);
System.out.println("幂运算结果:" + result); // 输出 8

7、比较(compareTo)

使用 compareTo 方法比较两个 BigDecimal 对象的大小。返回值为负数、零或正数,分别表示第一个对象小于、等于或大于第二个对象。

BigDecimal num1 = new BigDecimal("10.0");
BigDecimal num2 = new BigDecimal("15.0");
int comparisonResult = num1.compareTo(num2);
if (comparisonResult < 0) {
    System.out.println("num1 小于 num2");
} else if (comparisonResult == 0) {
    System.out.println("num1 等于 num2");
} else {
    System.out.println("num1 大于 num2");
}

8、取最大值(max)

从多个 BigDecimal 对象中选取最大的值。

BigDecimal num1 = new BigDecimal("10.5");
BigDecimal num2 = new BigDecimal("20.3");
BigDecimal maxNum = num1.max(num2);
System.out.println("Max: " + maxNum); // 输出:Max: 20.3

9、取最小值(min)

从多个 BigDecimal 对象中选取最小的值。

BigDecimal num1 = new BigDecimal("10.5");
BigDecimal num2 = new BigDecimal("20.3");
BigDecimal minNum = num1.min(num2);
System.out.println("Min: " + minNum); // 输出:Min: 10.5

10、绝对值(abs)

返回一个 BigDecimal 对象的绝对值。

BigDecimal num = new BigDecimal("-10.5");
BigDecimal absNum = num.abs();
System.out.println("Absolute Value: " + absNum); // 输出:Absolute Value: 10.5

11、取负数(negate)

返回一个 BigDecimal 对象的负数。

BigDecimal num = new BigDecimal("10.5");
BigDecimal negNum = num.negate();
System.out.println("Negative Value: " + negNum); // 输出:Negati

这些是 BigDecimal 类的一些常见数学计算方法。使用 BigDecimal 可以避免浮点数运算中的精度问题,特别适用于需要高精度计算的金融和科学应用。在使用 BigDecimal 进行计算时,应格外小心处理异常情况,如除以零或其他可能导致异常的情况。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值