sprintf 格式化字串函式

2022-03-03 12:16:39 字數 1885 閱讀 1138

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

先別急我會乙個個慢慢說

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

先舉個最簡單的案例

案例1.格式化多個變數

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

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

記住,乙個%標記符後面只有乙個型別屬性(比如s),s是什麼上面有,以字串的方式格式化

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

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

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

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

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

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

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

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

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

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

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

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

整數補位

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

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

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

格式化字串 sprintf函式

有時候我們需要格式化乙個字串的內容,這時侯使用sprintf 函式特別方便,它的使用格式如下 int sprintf char buffer,const char format,argument buffer代表字串指標,format為格式化的樣式,其餘為引數。例如 char s 105 sprin...

sprintf 格式化字串

sprintf 函式把格式化的字串寫入變數中。arg1 arg2 引數將被插入到主字串中的百分號 符號處。該函式是逐步執行的。在第乙個 符號處,插入 arg1,在第二個 符號處,插入 arg2,依此類推。注釋 如果 符號多於 arg 引數,則您必須使用佔位符。佔位符位於 符號之後,由數字和 組成。請...

PHP格式化字串函式 sprintf

定義和用法 sprintf 函式把格式化的字串寫入乙個變數中。語法 sprintf format,arg1,arg2,arg 引數 描述format 必需。轉換格式。arg1 必需。規定插到 format 字串中第乙個 符號處的引數。arg2 可選。規定插到 format 字串中第二個 符號處的引數...