Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

BigDecimalについて・・

はじめめて利用させてもらいます。太郎といいます。
よろしくおねがいします。

質問なのですが
BigDecimal big1 = new BigDecimal("1");
BigDecimal big2 = new BigDecimal("1");

big1 = big1.divide(big2,10,BigDecimal.ROUND_HALF_UP);
String total = big1.toString();

このソースを実行するとtotalの中身が
1.0000000000
となってしまいます。
一度double型に変換してからString型にすると
余分な0の抑制は可能なのですが、計算結果が
1.123456789
などになった時にdouble型を経由すると指数表現に変換され
てしまい、totalも指数表現のまま格納されてしまいます。

どなたかdouble型に変換する以外で0を抑制する方法を知っていましたら教えてください;;
よろしくお願いします。

1

回答

90313

閲覧

1件の回答

評価

0

DecimalFormatを使って整形すると良いのでは。

誤解されているようですが、
toStringメソッドというのはデバッグ出力用の文字列化メソッドであって、
数値を文字列にするメソッドではありません。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。