質問
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()
メソッドにも注意してください。これを使用して、書式設定時に丸めまたは切り捨てを適用する方法を制御できます。
所属していません StackOverflow