現在の位置: ホーム> 最新記事一覧> printfで出力番号をフォーマットする方法は? 1つの記事でphp printf関数の数式のフォーマット方法を理解する

printfで出力番号をフォーマットする方法は? 1つの記事でphp printf関数の数式のフォーマット方法を理解する

gitbox 2025-09-29

2。デジタルフォーマットプレースホルダー

2.1フローティングポイント%f

  • デフォルトでは、小数点以下の6桁が保持されます。

  • たとえば、10進数を指定できます。たとえば、 %.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">"pi: %.2f"</span></span><span>, </span><span><span class="hljs-variable">$pi</span></span><span>);
</span></span>

出力:

 <span><span><span class="hljs-section">pi: 3.14</span></span><span>
</span></span>

2.2整数%d

  • 小数整数を出力するために使用されます。

  • 最小幅を指定できます。数値が不十分な場合は、スペースが自動的に充填されます。

 <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>

2.3ヘックス%x / %x

 <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">"16進: %x"</span></span><span>, </span><span><span class="hljs-variable">$number</span></span><span>);
</span></span>

出力:

 <span><span><span class="hljs-section">16進: ff</span></span><span>
</span></span>

%xを使用すると、文字が大文字になります。

2.4オクタル%o

 <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>

3。幅とアライメント

  • %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>

4。数千個のセパレーター

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>