0

价值

double value = 345.12345;

字符串格式 1

String str = String.format("%.02f", value);

字符串格式 2

String str = String.format("%.2f", value);

两者都打印相同的值 345.12。那么,这两者有什么区别呢?

4

2 回答 2

6

0 前缀符号仅适用于整数部分,而不适用于小数部分。如果您改为使用 %07.2f,它会将值显示为 0345.12。

于 2013-03-07T18:23:11.703 回答
3

格式说明符的语法是

%[argument_index$][flags][width][.precision]conversion

请注意,precision02第一种情况和2第二种情况下,但由于它们是相同的数字,因此输出是相同的。因此"%.02f""%.2f"是相同的。

但是,如果你写了%02f,那么flags将是0("zero-pad output up to width") 并且width将是2. 然后输出将被零填充到指定的宽度。

于 2013-03-07T18:26:00.040 回答