Format函式的用法

2021-08-28 17:14:00 字數 2713 閱讀 6720

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.

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

7)p 對應於指標型別,返回的值是指標的位址,以十六進製制的形式來表示 例如: format(「this is %p」,p);

返回的是: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]);

就可以解決了!

Format函式的用法總結

format函式的用法總結如下 函式宣告 function format const format string const args array of const string overload 函式功能 事實上format方法有兩個種形式,另外一種是三個引數的,主要區別在於它是執行緒安全的,但並...

format函式用法詳解

指定需要輸出內容的位置 通過位置進行輸出選擇 print format chuhao 20,laowang 指定輸出內容 print format chuhao 20,laowang 通過大括號的個數來判斷輸出的字串數 print format chuhao 20,laowang 通過關鍵字引數進行...

C 中format函式的用法

一 定義 string.format是將指定的 string型別的資料中的每個格式項替換為相應物件的值的文字等效項。如 1 string p1 jackie string p2 aillo response.write string.format hello i m p1,p2 2 response...