format("% * . * f",[10,4,num]);
解析: 返回num變數格式化後的字元。整數位為10位,小數後為4位。
例如:num=1234567890.123456,處理後為“1234567890.1234”的字串。
format函式,返回一個指定格式的字元。
function Format(const Format: string; const Args: array of const): string;
具體說明:
const Fromat:string :格式資訊
const Args: 陣列。
主要是格式資訊比較麻煩。
格式化資訊主要有以下元素組成:
"%" + [索引 ":"] + ["-"] + [寬度] + ["." 摘要] + 型別
格式化資訊功能總結如下:
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=%8.2f"[12.0]) // "x= 12.00" ;
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); //連線字串
格式化資訊詳解:
index ":"]這個要怎麼表達呢,看一個例子
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。現在明白了嗎,[index ":"] 中的index指示Args中引數顯示的順序還有一種情況,如果這樣
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.22000000000000E+000,怎麼去掉多餘的0呢,這個就行啦
Format("this is %.2e",[-2.22]);
format("% * . * f",[10,4,num]);
解析: 返回num變數格式化後的字元。整數位為10位,小數後為4位。
例如:num=1234567890.123456,處理後為“1234567890.1234”的字串。
format函式,返回一個指定格式的字元。
function Format(const Format: string; const Args: array of const): string;
具體說明:
const Fromat:string :格式資訊
const Args: 陣列。
主要是格式資訊比較麻煩。
格式化資訊主要有以下元素組成:
"%" + [索引 ":"] + ["-"] + [寬度] + ["." 摘要] + 型別
格式化資訊功能總結如下:
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=%8.2f"[12.0]) // "x= 12.00" ;
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); //連線字串
格式化資訊詳解:
index ":"]這個要怎麼表達呢,看一個例子
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。現在明白了嗎,[index ":"] 中的index指示Args中引數顯示的順序還有一種情況,如果這樣
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.22000000000000E+000,怎麼去掉多餘的0呢,這個就行啦
Format("this is %.2e",[-2.22]);