0

1.5 で四捨五入を設定する方法ですが、1.6 を使用してこれを行うことができることはわかっています。ご指導をお願いします。このように小数点以下を四捨五入せずに double 値を取得したい。1.5では丸めモードが使えませんでした。

   double d1 = 1234567812342134.45678567;
   DecimalFormat df = new DecimalFormat(".00000");
   df.setMaximumFractionDigits(5);
   //df.setRoundingMode(RoundingMode.DOWN); 
   System.out.println(df.format(d1));

期待される出力: 1234567812342134.45678

出力: 1234567812342134.50000

4

1 に答える 1

0

問題はあなたですdouble d1 = 1234567812342134.45678567;

その程度の精度で保存するには大きすぎdoubleます。どちらかの端から 5 桁を削除すると、目的の丸めが得られます。それ以外の場合は、DecimalFormat関連するコードは問題ありません。

于 2013-02-22T10:57:16.583 に答える