価値
double value = 345.12345;
文字列形式 1
String str = String.format("%.02f", value);
文字列形式 2
String str = String.format("%.2f", value);
どちらも同じ値 345.12 を出力します。それで、これら2つの違いは何ですか?
価値
double value = 345.12345;
文字列形式 1
String str = String.format("%.02f", value);
文字列形式 2
String str = String.format("%.2f", value);
どちらも同じ値 345.12 を出力します。それで、これら2つの違いは何ですか?
0プレフィックス表記は、小数部ではなく整数部でのみ機能します。代わりに%07.2fと言った場合、値は0345.12と表示されます。
フォーマット指定子の構文は次のとおりです。
%[argument_index$][flags][width][.precision]conversion
precision
は02
最初のケースと2
2 番目のケースにありますが、これらは同じ数であるため、出力は同じであることに注意してください。したがって"%.02f"
、 と"%.2f"
は同じです。
しかし、もしあなたが書いたなら%02f
、それflags
は0
(「幅までのゼロパッド出力」) でありwidth
、2
. 次に、出力は指定された幅までゼロで埋められます。