Java で電卓を設計するように依頼するプロジェクトがあり、ユーザーが 50 桁または 100 桁を表示するように chioices を配置する必要があります。
ご存知のように、たとえば乗算やその他の演算を大きな数字で行うと、すべての桁が表示されず、約 20 桁が表示され、左側が E(数値) になります。
BigDecimal
andを使用してみDecimalFormat
ましたが、解決できませんでした。
Java で電卓を設計するように依頼するプロジェクトがあり、ユーザーが 50 桁または 100 桁を表示するように chioices を配置する必要があります。
ご存知のように、たとえば乗算やその他の演算を大きな数字で行うと、すべての桁が表示されず、約 20 桁が表示され、左側が E(数値) になります。
BigDecimal
andを使用してみDecimalFormat
ましたが、解決できませんでした。
BigDecimal
クラス (または、小数点以下の桁数に興味がない場合はクラス)を見てくださいBigInteger
。任意の桁数を問題なく出力する必要があります。DecimalFormat
(ところで使用する必要はありません。)
BigDecimal x = new BigDecimal("123456789123456789123456789");
BigDecimal y = new BigDecimal("987654321987654321987654321");
BigDecimal z = x.multiply(y);
System.out.println(z);
出力:
121932631356500531591068431581771069347203169112635269
BigDecimalの使用
System.out.println(new BigDecimal(1.1).multiply(new BigDecimal(1.8)));
104桁を印刷します
1.9800000000000002087219286295294335439472797061332458086428264139311483660321755451150238513946533203125
valueOfを使用するdouble
と、期待どおりに変換されます
System.out.println(BigDecimal.valueOf(1.1).multiply(BigDecimal.valueOf(1.8)));
プリント
1.98