を使用せずに、小数点以下3桁のみを保持したい場合は、を四捨五入します。
など。丸めを行わずに3小数点以下を保持する
DecimalFormat nf= new DecimalFormat("#0.000");
String number = nf.format(originalNumber);
をしかし、これは私が必要なものを行うことができますどのように92.367
になり:92.36699
は92.366
である必要があり、私は次のことを試してみましたか?
を使用せずに、小数点以下3桁のみを保持したい場合は、を四捨五入します。
など。丸めを行わずに3小数点以下を保持する
DecimalFormat nf= new DecimalFormat("#0.000");
String number = nf.format(originalNumber);
をしかし、これは私が必要なものを行うことができますどのように92.367
になり:92.36699
は92.366
である必要があり、私は次のことを試してみましたか?
これは「丸め」ではなく、DOWN
roundingです。単にset the roundingModeです。
DecimalFormat nf = new DecimalFormat("#0.000");
nf.setRoundingMode(RoundingMode.DOWN);
String number = nf.format(originalNumber);
注FLOOR
とDOWN
との差 - 負の数にのみ関連。 FLOOR
ラウンドの方向へ負の無限したがって-92.36699
は "-92.367"になります。
'RoudingMode.FLOOR'が常に負の無限大に丸められるので、切り捨ては正しく' RoundingMode.DOWN'で行われます。 – paper1111
@ paper1111ちょうどメモを追加しています。デフォルトでどちらを使用するかについての公正なポイント。 –
'((originalNumber * 1000)/ 1)/ 1000.0' – IQV