何かのようなもの
String.format("%10.2f", yourFloat)
// or
System.out.format("%10.2f", yourFloat)
10 文字幅 (10 進数を含む) の文字列を出力し、小数点の後に 2 つの数字を表示します。
(ドキュメント)
そう
String.format("$%6.2f", value[i])
$
と.
文字の両方を揃えます( を除くvalue[i] > 999.99
)。
それ以外の:
System.out.println(
num[i] +"\t "+
qty[i] +"\t "+
money.format(price[i])+"\t"+
money.format(value[i])+"\t"+
reorder[i]);
(これはまさにあなたが持っていたもので、わかりやすくするためにフォーマットし、スクロールバーを削除するだけです)
私はおそらく次のように書くでしょう:
System.out.format("%5d\t %5d\t $%5.2f\t $%6.2f\t %5d %n",
num[i], qty[i], price[i], value[i], reorder[i]);
price
これは、およびvalue
配列が float または doubleであることを前提としています。は標準クラスではないため、記号money
を追加する以外に何をするかを正確に伝えるのは困難です。$
文字列形式の構文はドキュメントで定義されていますが、フロートの場合はおおよそ次のとおりです。
%X.Yf
は合計X
フィールド幅で、Y
は小数点以下の桁数です
例えば
"123.40" Has a total width of 6:
3 + 1 [decimal point] + 2 = 6)
" 2.34" Also has a total width of 6:
2 [spaces] + 1 + 1 [decimal point] + 2 = 6