Contents
【Java】BigDecimalの使い方について
小数点以下の数値を扱う際に丸め処理が行われる場合があります。丸め処理されずに計算処理を行うためのクラスとしてBigDecimalクラスが用意されています。
BigDecimalの使い方については以下のとおりです。
インポート文
// BigDecimalクラスのインポート文 import java.math.BigDecimal;
BigDecimalクラスを利用するためには上記をインポートする必要があります。
初期化処理
// BigDecimalクラスの初期化処理
BigDecimal 変数名 = new BigDecimal("3.14");
初期化処理を実施する際は数値を入れておく必要があります。例えば、値を設定しない場合エラーとなります。
// 初期値にカラ設定はできないためエラー BigDecimal b = new BigDecimal(""); System.out.println(b); // 実行結果 Exception in thread "main" java.lang.NumberFormatException // 数値であれば問題なく初期化可能 BigDecimal b = new BigDecimal("0.00"); System.out.println(b); // 実行結果 0.00
加算処理(add)
BigDecimalで数値を加算するためにはaddメソッドを使用します。
// BigDecimalクラスの加算処理 BigDecimal型変数1.add(BigDecimal型変数2);
addメソッドで加算する値はBigDecimal型である必要があります。
BigDecimal b1 = new BigDecimal("3.14"); BigDecimal b2 = new BigDecimal("2.34"); // BigDecimal型の変数b1とb2を加算 System.out.println(b1.add(b2)); // 実行結果 5.48
型が違う場合、使用できません。
// int型などの値を加算することはできない BigDecimal b1 = new BigDecimal("3.14"); System.out.println(b1.add(10)); 型 BigDecimal のメソッド add(BigDecimal) は引数 (int) に適用できません。 // 数値を入れたい場合はBigDecimal型に変換してやればよい BigDecimal b1 = new BigDecimal("3.14"); System.out.println(b1.add(new BigDecimal("10"))); // 実行結果 13.14
【Java】BigDecimalのaddで加算されない場合確認する点
【Java】BigDecimalクラスで足し算をループで実装する方法
減算処理(subtract)
BigDecimalで数値を減算するためにはsubtractメソッドを使用します。
// BigDecimalクラスの減算処理
BigDecimal型変数1.subtract(BigDecimal型変数2);
subtractメソッドで減算する値はBigDecimal型である必要があります。
型が違う場合はaddメソッドと同様にエラーとなります。
BigDecimal b1 = new BigDecimal("3.14"); BigDecimal b2 = new BigDecimal("2.34"); // BigDecimal型の変数b1とb2を減算 System.out.println(b1.subtract(b2)); // 実行結果 0.80
乗算処理(multiply)
BigDecimalで数値を乗算するためにはmultiplyメソッドを使用します。
// BigDecimalクラスの乗算処理 BigDecimal型変数1.multiply(BigDecimal型変数2);
multiplyメソッドで乗算する値はBigDecimal型である必要があります。
型が違う場合はaddメソッドと同様にエラーとなります。
BigDecimal b1 = new BigDecimal("3.14"); BigDecimal b2 = new BigDecimal("2.34"); // BigDecimal型の変数b1とb2を乗算 System.out.println(b1.multiply(b2)); // 実行結果 7.3476
除算処理(divide)
BigDecimalで数値を除算するためにはdivideメソッドを使用します。
// BigDecimalクラスの除算処理 BigDecimal型変数1.divide(BigDecimal型変数2);
divideメソッドで除算する値はBigDecimal型である必要があります。
型が違う場合はaddメソッドと同様にエラーとなります。
BigDecimal b1 = new BigDecimal("3.14"); BigDecimal b2 = new BigDecimal("2"); // BigDecimal型の変数b1とb2を除算 System.out.println(b1.divide(b2)); // 実行結果 1.57
【Java】BigDecimalクラスで計算を複数実施する方法
BigDecimal型からint型への型変換
BigDecimal型からint型への型変換するためには、intValueメソッドを使用することで変換できます。
BigDecimalに少数を含む場合は小数点以下が切り捨てられます。
BigDecimal b1 = new BigDecimal("3.99"); int i = b1.intValue(); System.out.println(i); // 実行結果 3
BigDecimal型からdouble型への型変換
BigDecimal型からdouble型への型変換するためには、doubleValueメソッドを使用することで変換できます。
BigDecimal b1 = new BigDecimal("3.99"); double d = b1.doubleValue(); System.out.println(d); // 実行結果 3.99
コメントを残す