Format('x=%d', [12]); //'x=12' //最普通
Format('x=%3d', [12]); //'x= 12' //指定寬度
Format('x=%f', [12.0]); //'x=12.00' //浮點數
Format('x=%.3f', [12.0]); //'x=12.000' //指定小數
Format('x=%.*f', [5, 12.0]); //'x=12.00000' //動態配置
Format('x=%.5d', [12]); //'x=00012' //前面補充0
Format('x=%.5x', [12]); //'x=0000C' //十六進制
Format('x=%1:d%0:d', [12, 13]); //'x=1312' //使用索引
Format('x=%p', [nil]); //'x=00000000' //指針
Format('x=%1.1e', [12.0]); //'x=1.2E+001' //科學記數法
Format('x=%%', []); //'x=%' //獲得"%"
S := Format('%s%d', [S, I]); //S := S + StrToInt(I); //鏈接字符串\
spa
function Format(const Format: string; const Args: array of const): string;3d
Format字符串說明:
"%" [index ":"] ["-"] [width] ["." prec] type
(1) 格式化字符串必須以%開頭
(2) [index ":"] 索引指的是Args參數列表中要顯示的每一項的序號。好比:Args是
['a', 'c'],那麼'a'的索引就是0,而'c'的索引就是1,並且因爲只有
兩項,因此就不會出現大於1的索引值。
Format('%2:s %1:s %0:s', ['1st', '2nd', '3rd']);
結果:'3rd 2nd 1st'
(3) ["-"] 這個標識符的做用是當要顯示的字符的個數少於[width]時,在右邊填補空格;
若是沒加上["-"],則在左邊填補空格。
Format('(%4s)', ['aa']); 結果:' aa'
(4) [width] 寬度
規定了要顯示的字符的個數。若是要顯示的寬度大於[width],則按實際的
寬度來顯示;反之,則填補空格或按要求填補其它字符。
(5) ["." prec] 精度
這是針對浮點數來講的,通常就是指小數點後的位數。
(6) type 類型(見下面)指針
type的可能值有下列這些:
(1) d 有符號十進制數
Args必須是有符號整型數。若是在格式化字符串中還加入了["." prec],則若是Args
的長度若是小於給出的精度數時,在前邊填補0;若是大於精度數,按實際長度顯示。
Format('(%.3d)', [99]); 結果:'(099)'orm
(2) u 無符號十進制數
Args必須是無符號整型數。其它特性與d同樣。blog
(3) e 科學技術法
用科學技術法顯示數據,形式大體以下:'-d.ddd...E+ddd'。
Args必須是一個浮點數。若是是一個負數,則在最前面顯示一個符號;在小數點前面
老是顯示一位數字;包括小數點前面的數字在內,數字的個數由["." prec]來肯定,
若是沒有指定["." prec],則默認爲15位精度。若是實際的數字長度超出了指定的
["." prec],則剛剛超出的那一位數字四捨五入。指數符號E後面老是要跟着加號或
減號,而且在後面至少跟着三位數字。索引
(4) f 固定的
Args必須爲浮點數,轉換後的形式大體是'-ddd.ddd...'這樣的。
若是要轉換的是負值,則前面有一個負號。轉換後的數字,在小數點後面的數字的個數
由["." prec]決定。若是沒有指定["." prec],默認爲2位精度。字符串
(5) g 通常的
Args必須爲浮點數。
被轉換後的數字老是儘量的簡短(有多是f或e形式的)。有重要意義的數字的長度
由["." prec]來決定,默認爲15位(包括整數位和小數位)。數字先後的0都將被去掉,
小數點也只有在必要的時候才顯示出來。若是小數點左邊的數字小於等於指定的精度,
而且整個值大於或等於0.00001的時候,才使用f的顯示格式,不然使用e(科學技術法)博客
(6) n Args必須是浮點數。形式和f是同樣的,不一樣的是會顯示千位符,如:1,123,444string
(7) m 貨幣類型
Args必須是浮點數。可以顯示貨幣符號,能夠經過「控制面板」來設置。小數點後
的位數由["." prec]決定,若是沒用["." prec],則默認2位。io
(8) p 指針
Args必須是一個指針值。
將指針轉換爲8個字符的十六進制字符串。
(9) s 字符串
Args必須是字符,字符串或PChar值。
若是指定了["." prec],而且字符串的實際長度大於["." prec],則從左到右截取
精度指定數量的字符串,其他的刪除。
(10) x 十六進制
Args必須是一個整型數。
若是使用了["." prec],不足部分要用0補齊。
注意:[index ":"] [width] ["." prec]可使用這樣的格式:
Format('%*.*f', [8, 2, 123.456])
等價於:Format('%8.2f', [123.456]).
轉載自:天空的博客(http://wymsxty.blog.163.com/blog/static/77790858201262963921161/)