返回格式化字符串(類似 C 語言的 sprintf() 函數(shù)).
StringFormat ( "格式控制", 變量1 [, ... 變量32]
)
格式控制 | 使用的格式和標(biāo)志 (見備注). |
變量1...變量32 | 最多 32 個依照 "格式控制" 輸出的變量. |
類型 | 變量類型 | 輸出格式 |
---|---|---|
d, i | 整數(shù) | 帶符號十進(jìn)制整數(shù). |
o | 整數(shù) | 無符號八進(jìn)制整數(shù). |
u | 整數(shù) | 無符號十進(jìn)制整數(shù). |
x | 整數(shù) | 無符號十六進(jìn)制整數(shù), 使用小寫 "abcdef". |
X | 整數(shù) | 無符號十六進(jìn)制整數(shù), 使用大寫 "ABCDEF". |
e | 浮點 | 帶符號數(shù)值, 形如: [ - ]d.dddd e
[sign]ddd, 其中 d 是一個單一的十進(jìn)制數(shù)字, dddd 是一或多位小數(shù), ddd 是精確的三位小數(shù), sign 為 + 或 -. |
E | 浮點 | 等同于 e 格式, 只是改用 E 而非 e 作為指數(shù). |
f | 浮點 | 帶符號數(shù)值, 形如: [ - ]dddd.dddd, 其中 dddd 是一個或多個十進(jìn)制數(shù)字. 該數(shù)字小數(shù)點前的數(shù)位取決于數(shù)字的大小, 小數(shù)點后的數(shù)位取決于所要求的精度. |
g | 浮點 | 以 f 或 e 格式打印帶符號值, 無論哪一個給定值和精度都是以緊湊格式打印. e 格式用在值指數(shù)小于 -4 或大于等于精度參數(shù)時, 尾隨零被切斷, 而且十進(jìn)制小數(shù)點只在有一或較多數(shù)字跟隨時出現(xiàn). |
G | 浮點 | 等同于 g 格式, 但使用 E, 而不是 e 作為指數(shù) (如適用). |
s | 字符串 | 字符串. |
標(biāo)志 | 意義 | 默認(rèn)值 |
---|---|---|
- | 在給定字段寬度內(nèi)左對齊結(jié)果. | 右對齊. |
+ | 如果輸出值是帶符號類型, 輸出值前綴使用符號(+ 或 -). | 僅當(dāng)負(fù)值時出現(xiàn)負(fù)號 (-). |
0 | 如果寬度以 0 開頭, 則添加 0 到最小寬度. 如果 0 和 - 出現(xiàn), 0 被忽略. 如果 0 與整數(shù)格式(i, u, x, X, o, d)一起指定, 0 被忽略. |
不添加 0. |
Blank | 如果輸出值為帶符號的正值, 則輸出數(shù)值前綴用一個空白符; 如果空白符和 + 標(biāo)志同時出現(xiàn), 空白符被忽略. |
不出現(xiàn)空白符. |
# | 使用 o, x, 或 X 格式時, 標(biāo)志 # 表示任何非零輸出值前綴分別使用 0, 0x, 或 0X. |
不出現(xiàn)空白符. |
# | 使用 e, E, or f 格式時, 標(biāo)志 # 強(qiáng)制輸出值在所有情況下都包含一個十進(jìn)制小數(shù)點. |
只在有數(shù)字跟隨時出現(xiàn)十進(jìn)制小數(shù)點. |
# | 使用 g 或 G 格式時, 標(biāo)志 #
強(qiáng)制輸出值在所有情況下都包含一個十進(jìn)制小數(shù)點, 并且避免截斷尾隨零. 使用 c, d, i, u, 或 s 格式時忽略. |
只在有數(shù)字跟隨時, 十進(jìn)制小數(shù)點才會出現(xiàn). 并截斷尾隨零. |
類型 | 意義 | 默認(rèn)值 |
---|---|---|
d, i, u, o, x, X | "精度"指定打印的最小位數(shù). 如果位數(shù)變量小于精度值, 輸出值左邊由 0 填補. 當(dāng)位數(shù)超過精度, 不截斷輸出值. |
默認(rèn)精度為 1. |
e, E | "精度"指定十進(jìn)制小數(shù)點后的打印位數(shù). 最后打印值將四舍五入. | 默認(rèn)精度 6; 如果精度為 0 或句點(.), 沒有跟隨其它數(shù), 則不打印十進(jìn)制小數(shù)點. |
f | "精度"指定小數(shù)點后的位數(shù). 如果出現(xiàn)十進(jìn)制小數(shù)點, 則在它之前至少應(yīng)出現(xiàn)一位數(shù)字. 該值將四舍五入為適當(dāng)?shù)臄?shù)字. |
默認(rèn)精度 6; 如果精度為 0 或句點(.), 沒有跟隨其它數(shù), 則不打印十進(jìn)制小數(shù)點. |
g, G | "精度"指定有效打印位數(shù). | 打印六位有效數(shù)字, 任何尾隨零截斷. |
s | "精度"指定打印的最大字符數(shù). 超過精度的字符不打印. | 打印字符, 直到遇到空字符為止. |
Local $n
= 43951789;
Local $u
= -43951789;
; 注意: 雙 %%, 表示要打印一個 '%' 符號
printf("%%d = '%d'\n", $n);
'43951789'
標(biāo)準(zhǔn)整數(shù)表示法
printf("%%e = '%e'\n", $n);
'4.395179e+007'
科學(xué)記數(shù)法
printf("%%u = '%u'\n", $n);
'43951789'
無符號正整數(shù)
printf("%%u <0 = '%u'\n",
$u);
'4251015507'
無符號正整數(shù)
printf("%%f = '%f'\n", $n);
'43951789.000000'
浮點小數(shù)
printf("%%.2f = '%.2f'\n",
$n);
'43951789.00'
浮點數(shù),十進(jìn)制小數(shù)點后2位數(shù)字
printf("%%o = '%o'\n", $n);
'247523255'
八進(jìn)制數(shù)
printf("%%s = '%s'\n", $n);
'43951789'
表示字符串
printf("%%x = '%x'\n", $n);
'29ea6ad'
十六進(jìn)數(shù)表示法
(小寫)
printf("%%X = '%X'\n", $n);
'29EA6AD'
十六進(jìn)數(shù)表示法
(大寫)
printf("%%+d = '%+d'\n", $n);
'+43951789'
正整數(shù)
printf("%%+d <0= '%+d'\n",
$u); '-43951789'
負(fù)整數(shù)
$s = 'monkey';
$t = 'many monkeys';
printf("%%s = [%s]\n", $s);
[monkey]
字符串標(biāo)準(zhǔn)輸出
printf("%%10s = [%10s]\n",
$s);
[ monkey]
右對齊,有空格
printf("%%-10s = [%-10s]\n",
$s);
[monkey ]
左對齊,有空格
printf("%%010s = [%010s]\n",
$s);
[0000monkey]
字串前填充 0
printf("%%10.10s = [%10.10s]\n",
$t); [many monke]
左對齊 保留10個字符,其余截斷
printf("%04d-%02d-%02d\n",
2008, 4, 1);
Func Printf($format, $var1, $var2 = -1,
$var3 =
-1)
If
$var2 =
-1 Then
ConsoleWrite(StringFormat($format, $var1))
Else
ConsoleWrite(StringFormat($format, $var1, $var2, $var3))
EndIf
EndFunc ;==>Printf
provider with jb51.net (unicode) |