Format是一個很常用卻又似乎很煩的方法本人試圖對這個方法的幫助進行一些翻譯讓它有一個完整的概貌以供大家查詢之用
首先看它的聲明
function Format(const Format: string; const Args: array of const): string; overload;
事實上Format方法有兩個種形式另外一種是三個參數的主要區別在於它是線程安全的但並不多用所以這裡只對第一個介紹
function Format(const Format: string; const Args: array of const): string; overload;
Format參數是一個格式字符串用於格式化Args裡面的值的Args又是什麼呢?它是一個變體數組即它裡面可以有多個參數而且每個參數可以不同如以下例子
Format(
my name is %
s
[
wind
]);
返回後就是my name is wind
現在來看Format參數的詳細情況
Format裡面可以寫普通的字符串比如my name is但有些格式指令字符具有特殊意義比如%s格式指令具有以下的形式
%
[index
:
] [
] [width] [
prec] type
它是以%開始而以type結束type表示一個具體的類型中間是用來格式化type類型的指令字符是可選的
先來看看typetype可以是以下字符d 十制數表示一個整型值u 和d一樣是整型值但它是無符號的而如果它對應的值是負的則返回時是一個的次方減去這個絕對值的數如
Format(
this is %u
[-
]);
返回的是this is
f 對應浮點數
e 科學表示法對應整型數和浮點數比如
Format(
this is %e
[
]);
返回的是this is E+等一下再說明如果將數的精度縮小
g 這個只能對應浮點型且它會將值中多余的數去掉比如
Format(
this is %g
[
]);
返回的是this is
n 只能對應浮點型將值轉化為號碼的形式看一個例子就明白了
Format(
this is %n
[
]);
返回的是this is
注意有兩點一是只表示到小數後兩位等一下說怎麼消除這種情況 二是即使小數沒有被截斷它也不會也像整數部分一樣有逗號來分開的
m錢幣類型但關於貨幣類型有更好的格式化方法這裡只是簡單的格式化另外它只對應於浮點值
Format(
this is %m
[
]);
返回this is ¥
p 對應於指針類型返回的值是指針的地址以十六進制的形式來表示例如
var X:integer;
p:^integer;
begin
X:=
;
p:=@X;
Edit
Text:=Format(
this is %p
[p]);
end;
Edit的內容是this is F
s 對應字符串類型不用多說了吧
x 必須是一個整形值以十六進制的形式返回
Edit
Text:=Format(
this is %X
[
]);
返回是this is F
[] []
From:http://tw.wingwit.com/Article/program/Delphi/201311/24776.html