84

小数の値を文字列にフォーマットする必要があり、常に少なくとも 2 桁、最大で 4 桁を表示します。

たとえば

"34.49596" would be "34.4959" 
"49.3" would be "49.30"

これは String.format コマンドを使用して実行できますか?
または、Javaでこれを行うためのより簡単でより良い方法はありますか?

4

6 に答える 6

186

はい、あなたはそれを行うことができますString.format:

String result = String.format("%.2f", 10.0 / 3.0);
// result:  "3.33"

result = String.format("%.3f", 2.5);
// result:  "2.500"
于 2012-10-04T22:29:47.583 に答える
41

ジョブを実行する小さなコード スニペットを次に示します。

double a = 34.51234;

NumberFormat df = DecimalFormat.getInstance();
df.setMinimumFractionDigits(2);
df.setMaximumFractionDigits(4);
df.setRoundingMode(RoundingMode.DOWN);

System.out.println(df.format(a));
于 2009-01-11T23:16:05.433 に答える
3

java.text.NumberFormat はおそらくあなたが望むものです。

于 2009-01-11T23:11:50.730 に答える
2

NumberFormat と DecimalFormat は間違いなくあなたが望むものです。また、NumberFormat.setRoundingMode()方法にも注意してください。これを使用して、書式設定中に丸めまたは切り捨てを適用する方法を制御できます。

于 2009-01-12T00:49:53.073 に答える
1

java.text.DecimalFormat が必要です

于 2009-01-11T23:11:39.950 に答える