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