質問

10進数の値を文字列にフォーマットする必要があり、常に2桁以上で最大4桁を表示します。

たとえば、

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

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

役に立ちましたか?

解決

java.text.DecimalFormatが必要です。

DecimalFormat df = new DecimalFormat("0.00##");
String result = df.format(34.4959);

他のヒント

はい、 String.format でできます:

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

result = String.format("%.3f", 2.5);
// result:  "2.500"

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

double a = 34.51234;

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

System.out.println(df.format(a));

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

java.text.DecimalFormatが必要

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top