格式規範 |
名稱 |
說明 |
C 或 c |
貨幣 |
數值將轉換為表示貨幣數量的字串。轉換是由用來對數值進行格式化的 NumberFormatInfo 物件的貨幣格式資訊所控制。精確度規範指示所需要的小數位數。如果省略精確度規範,則會使用 NumberFormatInfo 指定的預設貨幣精確度。 |
D 或 d |
十進位 |
這個格式只支援整數型別。數值將會被轉換為十進位數 (0-9) 的字串,如果數值為負數,則在前面加上負號。精確度規範指示產生的字串中所需要的最少位數。如果有必要,數值以零填補其左邊,產生精確度規範所指定的位數。 |
E 或 e |
科學 (指數的) |
數字會轉換為 "-d.ddd…E+ddd" 或 "-d.ddd…e+ddd" 型式的字串,其中 "d" 表示數字 (0-9)。字串以負號開始,如果數值為負數的話。在小數點前面永遠會有一個位數。精確度規範指示小數點之後需要的位數。如果省略精確度規範,則使用小數點之後有六位數的預設值。格式規範的大小寫指示是否在指數之前加上 'E' 或 'e'。指數永遠由正號或負號和最少三位數所組成。必要時,指數將以零填補來符合指定的最少位數。 |
F 或 f |
固定點 |
數字會轉換為 "-ddd.ddd..." 型式的字串,其中 "d" 表示數字 (0-9)。字串以負號開始,如果數值為負數的話。精確度規範指示所需要的小數位數。如果省略精確度規範,則使用 NumberFormatInfo 指定的預設數值精確度。 |
G 或 g |
一般 |
數字會轉換為固定點或科學標記法中最精簡的一個,端視數字的型別和精確度規範是否存在而定。如果精確度規範已省略或為零,數字的型別將決定預設的精確度,如下列清單所顯示的。 Byte 或 SByte:3 Int16 或 UInt16:5 Int32 或 UInt32:10 Int64 或 UInt64:19 Single:7 Double:15 Decimal:29 如果以科學標記法來表示數字所產生的指數大於 -5 而且小於精確度規範,則會使用固定點標記法,否則使用科學標記法。必要時,結果會包含小數點並省略字串後端的零。如果精確度規範存在而且結果中的有效位數超過指定的精確度,那麼超出的後端位數會藉由四捨五入來移除。要是使用科學標記法,如果格式規範為 'G',結果中的指數前面會加上 'E';如果格式規範為 'g',則加上 'e'。 前面規則的例外是如果數字為 Decimal 而精確度規範已省略的情形。在該情形下,永遠使用固定點標記法並且保留後端的零。 |
N 或 n |
數字 |
數字會轉換為 "-d,ddd,ddd.ddd..." 型式的字串,其中 "d" 表示數字 (0-9)。字串以負號開始,如果數值為負數的話。千位分隔符號在小數點左邊插入每三位數一組的各個群組之間。精確度規範指示所需要的小數位數。如果省略精確度規範,則使用 NumberFormatInfo 指定的預設數值精確度。 |
P 或 p |
百分比 |
數值將轉換為 NumberFormatInfo.PercentNegativePattern 屬性或 NumberFormatInfo.PercentPositivePattern 屬性所定義的百分比字串。如果數值為負數,產生的字串由 PercentNegativePattern 來定義,並以負號開始。轉換的數值要乘以 100,以便呈現為百分比。精確度規範指示所需要的小數位數。如果省略精確度規範,則使用 NumberFormatInfo 指定的預設數值精確度。 |
R 或 r |
來回 |
來回規範保證轉換為字串的數值將會被剖析還原成相同數值。當數值使用這個規範來格式化時,它首先使用一般格式 (具有 15 位精確度的 Double 和 7 位精確度的 Single) 來測試。如果該值成功地剖析回到相同數值,即會使用一般格式規範來格式化。然而,如果這個值無法成功地剖析回到相同數值,就會使用 17 位數精確度的 Double 和 9 位數精確度的 Single 來格式化這個值。雖然精確度規範可以附加到來回格式規範,但它會被忽略。使用來回規範時,這個規範優先於精確度規範。這個格式只支援浮點型別。 |
X 或 x |
十六進位 |
數值將轉換為十六進位數字的字串。格式規範的大小寫指示是否要使用大寫或小寫字元於大於 9 的十六進位數字。例如,使用 'X' 產生 "ABCDEF",而 'x' 產生 "abcdef"。精確度規範指示產生的字串中所需要的最少位數。如果有必要,數值以零填補其左邊,產生精確度規範所指定的位數。這個格式只支援整數型別。 |