Share via


Visual Basic 6.0 使用者可用的 Format 函式

更新:2007 年 11 月

Visual Basic 2008 的 Format 函式現在會遵循 Common Language Runtime (CLR) 規格將資料格式化。如需在 .NET Framework 中格式化資料的詳細資訊,請參閱格式化型別

下列章節提供 Visual Basic 2008 中,已變更之使用者定義日期/時間、數值及字串格式的詳細資訊。

使用者定義的日期/時間格式

Visual Basic 6.0

在 Visual Basic 6.0 中,若要顯示簡短日期或完整日期,您可使用「ddddd」或「dddddd」格式規範。DayOfWeek ("w") 和 WeekOfYear ("ww") 規範分別顯示被視為一週第一天的日期,以及被視為一年第一週的週。小寫 "m" 字元以沒有前置零的數字來顯示月份。Quarter 規範 ("q") 會以 1 到 4 的數字來顯示一年的季節。

若要以具有或沒有前置零的數字來顯示分鐘,您可使用 "Nn" 或 "N" 格式規範。字元 "Hh" 以具有前置零的數字來顯示小時,而 "ttttt" 則以完整時間來顯示時間。若要顯示大寫或小寫 "A" 或 "P" 與上午或下午的任何小時,您可使用 "AM/PM"、"am/pm"、"A/P"、"a/p" 或 "AMPM"。

短的日期/時間規範 ("c") 會以 "ddddd ttttt" 格式來顯示日期與時間。

Visual Basic 2005

在 Visual Basic 2008 中,"ddddd" 和 "dddddd" 的行為與 "dddd" 相同,都會顯示日期的完整名稱。它們都不顯示簡短日期和完整日期。不支援 DayOfWeek ("w") 和 WeekOfYear ("ww")。反之,可以使用 DatePart 函式,如下列範例所示。

Format(DatePart(DateInterval.Weekday, Now))


...


Format(DatePart(DateInterval.WeekOfYear, Now))

"M" 和 "m" 是指不同的項目,因此有大小寫之分。大寫 "M" 只適用於日期/時間格式的日期部分中的月份,而小寫 "m" 只適用於時間部分中的分鐘。

不支援 Quarter 格式規範。反之,可以使用 DatePart 函式,如下列範例所示。

Format(DatePart(DateInterval.Quarter, Now))

若要以具有或不具前置零的數字來顯示分鐘,請分別使用 "mm" 或 "m"。"ttttt" 已不再受支援。"H" 和 "h" 代表不同的項目,所以有大小寫之分。大寫 "H" 只適用於 24 小時制,而且 "h" 僅適用於 12 小時制。AM/PM 格式被 "t" 和 "tt" 取代。

"c" 規範可用於貨幣格式。針對日期/時間格式,對短日期/時間規範使用 "g",對一般日期/時間規範則使用 "G"。"g" 和 "G" 都會使用目前的地區設定 (Locale),以判斷適當的日期及時間格式。

使用者定義的數值格式

Visual Basic 6.0

在 Visual Basic 6.0 中,格式化字串之前如有需要,Format 函式會將字串轉換為數字。Format 會顯示後端小數點 (如果沒有分數部分)。

Visual Basic 6.0 在格式化字串中支援四個區段。這些區段將以分號 (;) 隔開,並個別指定如何格式化正值、負值、零值和 null 值。若負數之格式字串 (Format String) 的負數區段為空白時,會顯示為空白字串。

科學標記法格式支援後面為指數的 "0" 和 "#" 位數預留位置。

Visual Basic 2005

在 Visual Basic 2008 中,Format 函式不會在格式化之前將字串轉換為數字。您必須在第一個引數中傳遞數字,而非字串。在下列範例中,程式碼的第一行不會在 Visual Basic 2008 中產生想要的結果,但第二行可以。

MsgBox(Format("1.234", "#.#"))   ' Displays "#.#".


...


MsgBox(Format(CSng("1.234"), "#.#"))   ' Displays "1.2".

不顯示尾端小數點,如下列範例所示。

MsgBox(Format(123, "###."))   ' Displays "123"


...


MsgBox(Format(123, "###.#"))   ' Displays "123"

Visual Basic 2008 在格式化字串方面支援三個區段:正值、負值和零值的格式化。如果依據第一種或第二種格式區段將非零的值捨入為零,此時會依據第三種格式區段來格式化此值。若負數之格式字串的負數區段為空白時,會顯示負號,如下列範例所示。

MsgBox(Format(-1, ";"))   ' Displays "-".

科學標記法格式僅支援 "0" 位數預留位置而不是 "#"。在下列範例中,程式碼的第一行不會在 Visual Basic 2008 中產生想要的結果,但第二行可以。

MsgBox(Format(123, "#e+#"))   ' Displays "12e+3".


...


MsgBox(Format(123, "#e+0"))   ' Displays "1e+2".

字串格式

Visual Basic 6.0

在 Visual Basic 6.0 中,您可以使用 @、&、<、> 和 ! 規範,建立使用者定義格式字串的運算式。

Visual Basic 2005

Visual Basic 2008 不支援使用者定義格式字串的運算式,所以 @、&、<、> 和 ! 格式規範沒有意義,也不再受支援。

請參閱

概念

Visual Basic 6.0 使用者可用的 Date 和 Time

程式設計項目的支援變更摘要

參考

Format 函式

DatePart 函式 (Visual Basic)