值
double value = 345.12345;
字符串格式1
String str = String.format("%.02f", value);
字符串格式2
String str = String.format("%.2f", value);
两者都打印相同的值345.12。那么,这两者之间的区别是什么?
答案 0 :(得分:5)
0前缀表示法仅适用于整数部分,而不适用于小数部分。如果你说的是%07.2f,它会将值显示为0345.12。
答案 1 :(得分:3)
syntax for a format specifier是
%[argument_index$][flags][width][.precision]conversion
请注意,precision
在第一种情况下为02
,在第二种情况下为2
,但由于这些数字相同,因此输出相同。因此"%.02f"
和"%.2f"
是相同的。
但是,如果你写了%02f
,那么flags
将是0
(“零填充输出到宽度”),而width
将是{{1} }}。然后输出将零填充到指定的宽度。