默认保留6位小数。
可以指定小数位,例如%.2f表示保留2位小数。
<span><span><span class="hljs-variable">$pi</span></span><span> = </span><span><span class="hljs-number">3.14159</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">printf</span></span><span>(</span><span><span class="hljs-string">"圆周率: %.2f"</span></span><span>, </span><span><span class="hljs-variable">$pi</span></span><span>);
</span></span>
输出:
<span><span><span class="hljs-section">圆周率: 3.14</span></span><span>
</span></span>
用于输出十进制整数。
可以指定最小宽度,数字不足则自动补空格。
<span><span><span class="hljs-variable">$score</span></span><span> = </span><span><span class="hljs-number">95</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">printf</span></span><span>(</span><span><span class="hljs-string">"分数: %5d"</span></span><span>, </span><span><span class="hljs-variable">$score</span></span><span>);
</span></span>
输出:
<span><span><span class="hljs-section">分数: 95</span></span><span>
</span></span>
<span><span><span class="hljs-variable">$number</span></span><span> = </span><span><span class="hljs-number">255</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">printf</span></span><span>(</span><span><span class="hljs-string">"十六进制: %x"</span></span><span>, </span><span><span class="hljs-variable">$number</span></span><span>);
</span></span>
输出:
<span><span><span class="hljs-section">十六进制: ff</span></span><span>
</span></span>
如果使用%X,字母会大写。
<span><span><span class="hljs-variable">$number</span></span><span> = </span><span><span class="hljs-number">8</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">printf</span></span><span>(</span><span><span class="hljs-string">"八进制: %o"</span></span><span>, </span><span><span class="hljs-variable">$number</span></span><span>);
</span></span>
输出:
<span><span><span class="hljs-section">八进制: 10</span></span><span>
</span></span>
%10d:宽度10,右对齐。
%-10d:宽度10,左对齐。
%010d:宽度10,左边补0。
<span><span><span class="hljs-variable">$num</span></span><span> = </span><span><span class="hljs-number">42</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">printf</span></span><span>(</span><span><span class="hljs-string">"[%10d]\n"</span></span><span>, </span><span><span class="hljs-variable">$num</span></span><span>); </span><span><span class="hljs-comment">// 右对齐</span></span><span>
</span><span><span class="hljs-title function_ invoke__">printf</span></span><span>(</span><span><span class="hljs-string">"[%-10d]\n"</span></span><span>, </span><span><span class="hljs-variable">$num</span></span><span>); </span><span><span class="hljs-comment">// 左对齐</span></span><span>
</span><span><span class="hljs-title function_ invoke__">printf</span></span><span>(</span><span><span class="hljs-string">"[%010d]\n"</span></span><span>, </span><span><span class="hljs-variable">$num</span></span><span>); </span><span><span class="hljs-comment">// 左边补0</span></span><span>
</span></span>
输出:
<span><span><span class="hljs-selector-attr">[ 42]</span></span><span>
</span><span><span class="hljs-selector-attr">[42 ]</span></span><span>
</span><span><span class="hljs-selector-attr">[0000000042]</span></span><span>
</span></span>
PHP本身的printf不直接支持千位分隔符,但可以使用number_format配合printf:
<span><span><span class="hljs-variable">$number</span></span><span> = </span><span><span class="hljs-number">1234567.89</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">printf</span></span><span>(</span><span><span class="hljs-string">"金额: %s"</span></span><span>, </span><span><span class="hljs-title function_ invoke__">number_format</span></span><span>(</span><span><span class="hljs-variable">$number</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>));
</span></span>
输出:
<span><span><span class="hljs-section">金额: 1,234,567.89</span></span><span>
</span></span>