sprintf() 格式化字符串函數


 
         

基本語法格式:sprintf("%格式化類型","$str1","$str2") ;

 
         

先別急我會一個個慢慢說

 
         

先看一下類型參照表,也就是要轉換成什么類型的格式

先舉個最簡單的案例

 

案例

1.格式化多個變量

要點:

%s = %符號和后面屬性符號(s)總稱為插入標記組合,也就是把后面准備進行格式化的值($str1)替換在這個位置

hello = 這個單詞就是很多人蒙蔽的地方,告訴你這個什么代表也沒有,就單純的代表一個hello,用於分割或者修飾用,一般用[ %s ]、<%s>這樣格式化出來后就直接在標簽里

記住,一個%標記符后面只有一個類型屬性(比如s),s是什么上面有,以字符串的方式格式化

那么多個值怎么格式化一起呢


%s為一個標記,兩個%s%s這樣寫卻是錯誤的,每個%s必須標記鍵位,不然我怎么知道都代表格式化后面的哪個$str呢,所以有個特別的語法

%1\$%2\$  解釋:%1表示格式化sprintf("%1\$%2\$",''$str1","$str2")中對應的$str1,那么%2自然表示格式化$str2,\$是代表有多個值准備格式化,所以每個%1和%2或者還有%3的標記后都要加這個符號代表一行中有多個標記,如果只有一個標記就不用\$了占位符了,記住$str2、$str3是可選,也就是可以不格式化這么多



 

sprintf("%'x13.2f",$c);

這是什么意思,f是浮點數,第一步按照格式 %  '(補位值) 寬度值 格式化類型   這三部分,語法之間必須緊挨着不能用空格

必須解釋一下何為補位值:就是設定的寬度超出了,用這個值來填上

解釋一下,補位值只有設置寬度超出了目標值才能用

所以就是用x補位,13為總寬度,2為小數點后的寬度,f為格式化類型,別急我會解釋

' 號(單引號)代表接下來要用補位類型

為什么他能識別x是補位值呢,因為前面有 ' 號,

為什么他能識別哪幾位是哪種類型呢,他是這樣識別的,按順序從先從兩頭的字符開始識別是什么類型,補位值肯定是單數位,不可能一個位置補兩個數吧,所以左邊第一位x是補位值,右邊第一位是格式化類型,然后中間的自然是寬度值

第二,為什么小數點 后還有一個屬性 ,因為這是f(浮點型),必須設置小數點后有幾位,不能小數后面不能設置了吧,那浮點數意義何在呢

不要覺得煩,每個例子都是濃縮出來的

整數補位

這就是整數補位,還是一樣

第一步按照格式 %'(補位值) 寬度值    格式化類型    這三部分

0是補位值 7是寬度值 s自然是格式化類型

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM