今回はJavaのadd()・subtract()・setScaleが何かを解説します。

add()

BigDecimal型の数値を足し算するメソッドです。

下記のコードで考えます。

import java.math.BigDecimal;

public class Main {
    public static void main(String[] args) {
        BigDecimal number1 = new BigDecimal("10");
        BigDecimal number2 = new BigDecimal("3");

        BigDecimal result = number1.add(number2);

        System.out.println(result);
    }
}

8行目の下記のコードで足し算を行なっています、「計算に使う値1.add(計算に使う値2);」です。

number1.add(number2);

10行目で結果の13を返します。

subtract()

BigDecimal型の数値を引き算するメソッドです。

下記のコードで考えます。

import java.math.BigDecimal;

public class Main {
    public static void main(String[] args) {
        BigDecimal number1 = new BigDecimal("10");
        BigDecimal number2 = new BigDecimal("3");

        BigDecimal result = number1.subtract(number2);

        System.out.println(result);
    }
}

8行目の下記の部分で引き算を行なっています、「引かれる値.subtract(引く値);」です。

number1.subtract(number2);

10行目で結果の7を返します。

setScale()

BigDecimal型の数値について、小数点以下の桁数を指定するメソッドです。

下記のコードで考えます。

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

public class Main {
    public static void main(String[] args) {
        BigDecimal number = new BigDecimal("10.567");

        BigDecimal result = number.setScale(
            2,
            RoundingMode.HALF_UP
        );

        System.out.println(result);
    }
}

8行目〜11行目の第二引数で小数点以下の桁数を指定して第三引数で四捨五入をした時の繰り上げ・繰り下げの指定をします。

「.HALF_UP」は繰り上げで「.DOWN」は繰り下げです。

13行目で結果の10.57を返します。