BigDecimal 类型的计算方法

目录

      • 1、加法(add)
      • 2、减法(subtract)
      • 3、乘法(multiply)
      • 4、除法(divide)
      • 5、取余数(remainder)
      • 6、幂运算(pow )
      • 7、比较(compareTo)
      • 8、取最大值(max)
      • 9、取最小值(min)
      • 10、绝对值(abs)
      • 11、取负数(negate)

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 进行计算时,应格外小心处理异常情况,如除以零或其他可能导致异常的情况。

你可能感兴趣的:(Java开发,学习笔记,笔记,java)