2016-10-09 9 views
0

私は7桁に2桁を四捨五入しなければならないJavaプログラムを作成していますが、それを行う方法はわかりません。 like 6.6666667e-10 to 0.0000001Javaの小数点第7位を切り捨てる方法

+0

のDecimalFormat DF =新しいてDecimalFormat( "########を"); df.setRoundingMode(RoundingMode.CEILING); –

+0

@ i-bobそれは上記の答えに0を与えていますが、私は必要です0.0000001 –

答えて

1

数値が小さすぎるため0を返す理由があります。小数点以下7桁に丸めることはできません。なぜなら、その中の最初の0でない数字は7桁目の後にあるからです。

しかし、大きめの数字のために、このコードは、トリックを行う必要があります。

double a = 6.66666667E-10; 
DecimalFormat df = new DecimalFormat("#.#######"); 
df.setRoundingMode(RoundingMode.CEILING); 
System.out.println(df.format(a)); 
+0

それは再び0を与えていません –

+0

私の言ったように、例の数字が小さすぎます。 より大きい数値を試してみるか、7桁を超えて試してみてください。 – ItamarG3

関連する問題