How to implement addition, subtraction, multiplication, and division in BigDecimal in Java?

In Java, the BigDecimal class can be used for precise arithmetic operations such as addition, subtraction, multiplication, and division.

  1. Addition operation:
BigDecimal result = num1.add(num2);
  1. Subtraction operation:
BigDecimal result = num1.subtract(num2);
  1. Multiplication operation:
BigDecimal result = num1.multiply(num2);
  1. Division operation:
BigDecimal result = num1.divide(num2, scale, roundingMode);

In this case, scale represents the number of decimal places, and roundingMode represents the rounding mode. Common rounding modes include: ROUND_UP (round up), ROUND_DOWN (round down), ROUND_HALF_UP (round to the nearest whole number), etc.

Here is a complete example:

import java.math.BigDecimal;
import java.math.RoundingMode;

public class Main {
    public static void main(String[] args) {
        BigDecimal num1 = new BigDecimal("10.5");
        BigDecimal num2 = new BigDecimal("5.2");

        // 加法
        BigDecimal sum = num1.add(num2);
        System.out.println("加法结果:" + sum);

        // 减法
        BigDecimal difference = num1.subtract(num2);
        System.out.println("减法结果:" + difference);

        // 乘法
        BigDecimal product = num1.multiply(num2);
        System.out.println("乘法结果:" + product);

        // 除法
        BigDecimal quotient = num1.divide(num2, 2, RoundingMode.HALF_UP);
        System.out.println("除法结果:" + quotient);
    }
}

The output result:

加法结果:15.7
减法结果:5.3
乘法结果:54.6
除法结果:2.02
bannerAds