2023年06月22日 10:52:48 loveliuzz 閱讀數 15671
format函式的用法總結如下:
函式宣告
function format(const format: string; const args: array of const): string; overload;
函式功能
事實上format方法有兩個種形式,另外一種是三個引數的,主要區別在於它是執行緒安全的, 但並不多用,所以這裡只對第乙個介紹。format引數是乙個格式字串,用於格式化args裡面的值的。args是乙個變體陣列,即它裡面可以有多個引數,而且每個引數可以不同。 例如: format("my name is %6s","wind"); 返回的是:my name is wind
函式引數
format裡面可以寫普通的字串,比如"my name is" ,但有些格式指令字元具有特殊意義,比如"%6s"
格式指令具有以下的形式: "%" [index ":"] ["-"] [width] ["." prec] type
它是以"%"開始,而以type結束,type表示乙個具體的型別。中間是用來格式化type型別的指令字元,是可選的。
各個引數的含義與用途如下; [type]
type 數可選的型別有d,u,f,e,g,n,m,p,s,x.
1) d 十進位制數,表示乙個整型值,u 和d一樣是整型值,但它是無符號的,而如果它對應的值是負的,則返回時是乙個2的32次方減去這個負數的絕對值 。 例如:format("this is %u",-2); 返回的是:this is 4294967294
2)f 對應浮點數
3)e科學表示法,對應整型數和浮點數 例如:format("this is %e",-2.22); 返回的是:this is -2.220000e+000
4)g 這個只能對應浮點型,且它會將值中多餘的數去掉 例如:format("this is %g",02.200); 返回的是:this is 2.2
5)n 只能對應浮點型,將值轉化為號碼的形式,看乙個例子就明白了 例如:format("this is %n",4552.2176); 返回的是:this is 4,552.22 注意:一是,只表示到小數後兩位
二是,即使小數沒有被截斷,它也不會也像整數部分一樣有逗號來分開的
6)m 錢幣型別,但關於貨幣型別有更好的格式化方法,這裡只是簡單的格式化,另外它只對應於浮點值 例如:format("this is %m",9552.21); 返回的是:this is ¥9,552.21
返回的是:this is 0012f548
8)s 對應字串型別
9)x 必須是乙個整形值,以十六進製制的形式返回 例如:format("this is %x",15); 返回的是:this is f
下面介紹格式化type的指令:
[index ":"] :index指示args中引數顯示的順序 。 例如:format("this is %d %d",12,13);
其中第乙個%d的索引是0,第二個%d是1,所以字元顯示的時候,是這樣:this is 12 13
若定義為:format("this is %1:d %0:d",12,13); 那麼返回的字串就變成了:this is 13 12
若定義為:format("%d %d %d %0:d %d", 1, 2, 3, 4) 那麼將返回的是:1 2 3 1 2
若想返回的是1 2 3 1 4,必須這樣定義:format("%d %d %d %0:d %3:d", 1, 2, 3, 4)
注意:索引不能超出args中的個數,不然會引起異常。 例如:format("this is %2:d %0:d",12,13);
由於args中只有12 13 兩個數,所以index只能是0或1,這裡為2就錯了 。
[width] :指定將被格式化的值佔的寬度。
例如:format("this is %4d",12); 返回的是:this is 12
如果width的值小於引數的長度,則沒有效果。
例如:format("this is %1d",12); 返回的是:this is 12
["-"] :這個指定引數向左對齊,和[width]合在一起最可以看到效果。
例如:format("this is %-4d,yes",12); 返回的是:this is 12 ,yes
["." prec] :指定精度,對於浮點數效果最佳。
例如:format('this is %.2f,1.1234); 返回的是: this is 1.12
又如:format('this is %.7f,1.1234); 返回的是: this is 1.1234000
而對於整型數,如果prec比如整型的位數小,則沒有效果,反之比整形值的位數大,則會在整型值的前面以0補之。
例如:format('this is %.7d,1234); 返回的是:this is 0001234
對於字元型,剛好和整型值相反,如果prec比字串型的長度大,則沒有效果,反之比字串型的長度小,則會截斷尾部的字元。
例如:format('this is %.2s,1234); 返回的是:this is 12
之前說過的例子:format("this is %e",-2.22);
返回的是:
this is -2.220000e+000
若這樣:
format('this is %
.2e',[-2.22]);
就可以解決了!
Python format函式詳解
python從2.6開始支援format,新的更加容易讀懂的字串格式化方法,從原來的 模式變成新的可讀性更強的 花括號宣告 用於渲染前的引數引用宣告,花括號裡可以用數字代表引用引數的序號,或者 變數名直接引用。從format引數引入的變數名 冒號 字元位數宣告 空白自動填補符 的宣告 千分位的宣告 ...
python format格式輸出
內容摘自 相對基本格式化輸出採用 的方法,format 功能更強大,該函式把字串當成乙個模板,通過傳入的引數進行格式化,並且使用大括號 作為特殊字元代替 1 不帶編號,即 2 帶數字編號,可調換順序,即 3 帶關鍵字,即 1 print format hello world 不帶字段 2 hello...
python format 用法詳解
str.format 這個特性從python2.6而來 其實實現的效果和 有些類似 不過有些地方更方便 通過位置對映 in 1 format kzc 18 out 1 kzc,18 in 2 format kzc 18 注意python2.6並不支援寫為空 out 2 kzc,18 in 3 for...