號碼格式
如果「格式」屬性不以百分比符號 (%) 開頭,並且不包含任何 (@) 符號,則將根據號碼格式化代碼進行格式化。 這種格式化要求「字串」是一個浮點值。 「格式」屬性中支援以下格式指定元︰
指定元 |
描述 |
---|---|
「0」數字預留位置 |
如果被格式化的值在格式字串中「0」出現的位置上有一個數字,那麼該數字將被複製到輸出字串中。 否則,「0」將儲存於輸出字串的那個位置。 |
# 數字預留位置 |
如果被格式化的值在格式字串中「#」出現的位置上有一個數字,那麼該數字將被複製到輸出字串中。 否則,輸出字串中的該位置不會儲存任何內容。 |
.小數點 |
格式字串中的第一個字元「.」決定了十進制分隔符在格式化值中的位置;任何額外的「.」字元將被忽略。 |
, 千位分隔符 |
如果格式字串包含一個或多個「,」字元,則輸出將在小數點左邊的每組三位數之間加入千位分隔符。 格式字串中「,」字元的位置和數量不影響輸出,除非指示使用了千位分隔符。 |
E+ 科學標記法 |
如果格式字串中包含「E+」、「E-」、「e+」或「e-」中的任何一個字串,則使用科學標記法對數字進行格式化。 一組最多由四個「0」字元組成的字元可以緊跟在「E+」、「E-」、「e+」或「e-」之後,以確定指數中的最小位數。 「E+」和「e+」格式導致正指數輸出一個加號,負指數輸出一個減號。 「E-」和「e-」格式僅輸出負指數的符號字元。 |
'xx'/"xx" |
用單引號或雙引號括起來的字元按原樣輸出,不會影響格式化。 |
; |
這個字元在格式字串中分隔正數、負數和零。 |
格式字串中小數點前最左邊的「0」和格式字串中小數點後最右邊的「0」的位置決定了輸出字串中始終存在的數字範圍。
被格式化的數字總是四捨五入到小數點右邊有多少位數字預留位置(「0」或「#」)。 如果格式字串不包含小數點,則被格式化的值將四捨五入到最接近的整數。
如果被格式化的數字的小數分隔符左邊的數字比格式字串中「.」字元左邊的數字預留位置的數字要多,那麼多餘的數字將在第一個數字預留位置之前輸出。
為了允許正、負和零值的不同格式,格式字串可以包含一到三個由分號分隔的區段︰
- 一個區段︰格式字串適用於所有值。
- 兩個區段︰第一個區段適用於正值和零,第二個區段適用於負值。
- 三個區段︰第一個區段適用於正值,第二個區段適用於負值,第三個區段適用於零。
如果負值的區段或零值的區段為空,即分號之間沒有任何內容分隔該區段,則使用正值的區段。
如果正值的區段為空,或者如果整個格式字串為空,則使用具有 15 位有效數字的通用浮點格式對該值進行格式化。 如果數值在小數點左邊有超過 18 位數字,並且格式字串沒有指定科學標記法,則也會使用常規浮點格式化。
下表列出了在「格式」和「字串」屬性中輸入的值的示例︰
格式屬性 |
字串屬性︰ 1234 |
字串屬性︰ -1234 |
字串屬性︰ 0.5 |
字串屬性︰ 0 |
---|---|---|---|---|
0 |
1234 |
-1234 |
0.5 |
0 |
0.00 |
1234.00 |
-1234.00 |
0.50 |
0.00 |
#.## |
1234 |
-1234 |
0.5 |
|
#,##0.00 |
1,234.00 |
-1,234.00 |
0.50 |
0.00 |
#,##0.00;(#,##0.00) |
1,234.00 |
(1,234.00) |
0.50 |
0.00 |
#,##0.00;;零 |
1,234.00 |
-1,234.00 |
0.50 |
零 |
0.000E+00 |
0.000E+03 |
-1.234E+03 |
5.000E-01 |
0.000E+00 |
#.###E-0 |
1.234E3 |
-1.234E3 |
5E-1 |
0E0 |