首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP sprintf 與 printf 函數差異詳解及格式符完整表

     編輯:PHP 相關知識

核心區別

函數行為返回值
printf直接輸出格式化字串輸出字串長度
sprintf返回格式化字串,不輸出格式化後字串
print單參數輸出始終返回 1

浮點數格式化實例:保留兩位小數

<?php
$num1 = 21;
echo sprintf("%0.2f", $num1) . "<br />"; // 21.00
$num2 = 16.3287;
echo sprintf("%0.2f", $num2) . "<br />"; // 16.33
$num3 = 32.12329;
echo sprintf("%0.2f", $num3) . "<br />"; // 32.12

格式符 %0.2f 解析

  • %:起始標記
  • 0:填充字符(此處無寬度效果可省略)
  • .2:小數點後 2 位
  • f:浮點數型別

完整轉換符號表

符號說明
%輸出 % 本身
b整數 → 二進位
c整數 → ASCII 字元
d整數 → 十進位
f雙精度 → 浮點數
o整數 → 八進位
s值 → 字串
x整數 → 小寫十六進位
X整數 → 大寫十六進位

進階格式控制

sprintf("%+010.2f", -3.14); // 輸出 "-000003.14"(符號、寬度、填充零、精度)
sprintf("%'#10.2f", 3.14);   // 輸出 "####3.14"(自定義填充字 #)

實務建議

  • 需直接輸出用 printf,需字串拼接/存儲用 sprintf。
  • 金額顯示建議用 number_format 或 Money 庫,避免浮點精度問題。
  • %0.2f 等同 %.2f,前導 0 僅在指定總寬度(如 %08.2f)時生效。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved