2016-10-21 8 views
-1

倍精度の精度の後に00という2つのゼロを表示する必要があるシナリオがあります。しかし、残念ながら、Javaは2番目のゼロを返していません。期待値精度値の後に2つのゼロを表示する倍精度値

私は以下の方法を試しましたが、10進数の後に1つしかゼロを返していません。

double inputvalue = 12345.00; 
double d = ((BigDecimal.valueOf(inputvalue)).setScale(2,RoundingMode.UP)).doubleValue(); 

予想される出力:12345.00しかし、1234.0を返しています。

+0

Javaにはこのための 'NumberFormat'または' String.printf() 'があります。 –

+0

私には何の問題もありません。あなたのスケールメソッドがあなたが期待したものを返しています。 –

+0

'double'には組み込み形式がありません。表示方法を変更したい場合は、あなたが望むような形式を使用する必要があります。 –

答えて

1

文字列を使用して値を表示することを検討しましたか。例えば String.format("%.2f", d)