BigDecimalクラス
BigDecimalのパッケージ: java.mathのクラス、不変、任意精度の符号付き小数。BigDecimalの任意精度の整数スケールなしの値と32ビット整数のスケール(スケール)の組成物。
任意の正確な数字は、フロート又は正確な計算の二重、所望であれば、結果として使用することができずに、計算精度のためには、BigDecimalクラスを使用しなければならない、とBigDecimalクラスを使用することも多数を操作することができます
dobule例
1 パブリック クラスTestMath { 2 3 公共 静的 ボイドメイン(文字列[]引数){ 4 ダブル A1 = 0.1 。 5 ダブル A2 = 0.2 。 6 7 ダブル A3 = A1 + A2。 8 のSystem.out.println(A1 + "+" + A2 + "=" + A3)。 9 } 10 11 }
結果はどのくらいあると思いますか?
結果:0.1 + 0.2 = 0.30000000000000004
(常識は0.1 + 0.2 = 0.3であるべきです)
BigDecimalの例
1つの インポートのjava.math.BigDecimal。 2 3 パブリック クラスTestMath { 4 5 パブリック 静的 ボイドメイン(文字列[]引数){ 6 ダブル A1 = 0.1 。 7 二重 A2 = 0.2 。 8 9 ダブル A3 = A1 + A2。 10 のSystem.out.println( "使用ダブル类型计算结果:" + A1 + "+" + A2 + "=" + A3)。 11 12 のBigDecimal B1 = 新規のBigDecimal( "0.1" )。 13 のBigDecimal B2 = 新しいですBigDecimalを( "0.2" ); 14 15 のBigDecimal B3 = b1.add(B2); 16 17 のSystem.out.println( "BigDecimal型は計算結果を使用して" + B1 + "+" + B2 + "=" + B3) ; 18 } 19 20 }
出力:
0.1 + 0.2 = 0.30000000000000004:double型用いた結果
、使用のBigDecimal型計算:0.1 + 0.2 = 0.3