我的PHP手冊中sprintf()的說明全是英文,我看不懂。有沒有大俠能把該函數的作用(尤其是參數format)詳細地說一下?
9 个解决方案
請 google 翻譯了一下
% - 文字百分號。沒有參數是必需的。
b - 該參數被視為一個整數,並作為一個二進制數。
c - 接收參數被視為一個整數,並作為字符與ASCII值。
d - 該參數被視為一個整數,作為一個(符號)十進制數。
e - 該參數被視為科學記數法(比如1.5e +3 ) 。
u - 該參數被視為一個整數,並作為一個無符號十進制數。
f - 該參數被視為浮點,以及作為一個浮點數(語言環境感知) 。
F - 該參數被視為浮點,以及作為一個浮點數(非語言環境感知) 。從PHP 4.3.10和PHP 5.0.3 。
o - 該參數被視為一個整數,並作為一個八進制數。
s - 該參數被視為並作為一個字符串。
x - 將參數被視為一個整數,作為一個十六進制數(小寫字母) 。
X- 將參數被視為一個整數,作為一個十六進制數(用大寫字母) 。
例:
echo sprintf('%b %c %d %u %e %f %F %o %s %x %X', 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65);
1000001 A 65 65 6.500000e+1 65.000000 65.000000 101 65 41 41
是不是只有浮點型才會有“%.2f”的參數format?
是的
%.2f 表示按 2 位小數格式化
整數自然是沒有小數的
還有什么好補充的?
1. sprintf是
格式化輸出,也就是按照你要的格式輸出,類似模板
2. 與print不同,sprintf並不會直接打印到屏幕,因此你可以用它給變量賦值。如 $s = sprintf(..................);
w3school里sprintf()部分的一句話:如果 % 符號多於 arg 參數,則您必須使用占位符。占位符插到 % 符號后面,由數字和 "\$" 組成。
上面這句話中的數字是指的什么?