Format Function

將數字轉換成字串,然後依指定的格式對其進行格式化。

語法

Format(Number[, Format As String])

傳回值類型

字串型

參數:

Number:要轉換成已格式化字串的數值型表示式。

Format:指定用於數字之格式代碼的字串。如果不指定 Format,Format 函式的功能類似於 Str 函式。

格式化代碼

以下清單描述了可用來格式化數字的代碼:

0:Number 中,如果與格式代碼中的 0 相對應的位置上有數位,則顯示該數位,否則顯示零。

如果 Number 表示式中小數點任意一側的數位數小於格式代碼中零的個數,將顯示前導零或尾隨零。如果 Number 中小數分隔符左側的數位數多於格式代碼中零的個數,則顯示多餘的數位而不加以修改。

數字中的小數位數依 Format 代碼中小數分隔符後出現的零的個數而捨入。

#:如果 Number 中與 Format 代碼中的 # 萬用字元相對應的位置上有數位,則顯示該數位,否則此位置不顯示任何值。

此符號的功能與 0 類似,不同的是,當格式代碼中的 # 萬用字元位數多於數字中的數位位數時,不顯示前導零或尾隨零,而只顯示有關的數位。

.:小數萬用字元用於確定小數分隔符左邊和右邊的位數。

如果在格式代碼中,此符號左側僅包含 # 定位符,則純小數 (小於 1) 將以小數分隔符作為開頭。若要使小數總是顯示前導零,請使用 0 作為小數分隔符左側第一個數位的定位符。

%:將數字乘以 100,並在格式代碼中該數字出現的位置插入百分號 (%)。

E- E+ e- e+:如果格式代碼中包含符號 E-、E+、e- 或 e+ 且符號右側至少包含一個數位定位符 (0 或 #),則數字會格式化為科學記數法或指數等格式,並且數字和指數之間會插入字母 E 或 e。指數形式的數位數取決於符號右側定位符的數位數。

如果指數為負數,則在包含 E-、E+、e-、e+ 的指數前顯示減號。如果指數為正數,則僅在包含 E+ 或 e+ 的指數前顯示加號。

如果格式代碼中包含分隔符且分隔符前後有數位定位符 (0 或 #),則顯示千位分隔符。

句點是用作千位分隔符還是用作小數分隔符,取決於地區設定,而作為小數分隔符顯示的實際字元取決於系統設定中的數字格式。此處的示例假定地區設定為「US」。

- + $ ( ) 空格:直接在格式代碼中輸入的加號 (+)、減號 (-)、美元符號 ($)、空格或括號顯示為文字字元。

若要顯示除上述之外的其他字元,必須在該字元前加反斜線 (\),或在字元前後加引號 (" ")。

\ : 顯示格式代碼中反斜線後面的字元。

如果在格式代碼中具有特殊含義的字元前加上反斜線,則這些字元會顯示為文字字元。反斜線本身不會顯示,除非在格式代碼中輸入兩條反斜線 (\\)。

在格式代碼中,為了顯示為文字字元而必須在前面加反斜線的字元包括日期、時間等格式化字元 (a、c、d、h、m、n、p、q、s、t、w、y、/、:)、數字格式化字元 (#、0、%、E、e、逗號、句點) 和字串格式化字元 (@、&、<、>、!)。

也可以使用以下預先定義的數字格式。除「General Number」之外,所有預先定義的格式代碼傳回的數字都帶有兩位小數。

如果您使用預先定義的格式,格式名稱的前後必須加上引號。

預先定義的格式

General Number:顯示格式與輸入格式相同的數字。

Currency:在數字前插入美元符號並在負數前後加上括號。

Fixed:至少顯示小數分隔符前一位數位。

Standard:顯示數字時帶有千位分隔符。

Percent:將數字乘以 100,並附加百分號。

Scientific:以科學記數法格式顯示數字 (例如,1000 顯示為 1.00E+03)。

格式代碼可以分為三個區域,彼此之間以分號分隔。三個部份依次定義正數、負數和零的格式。如果僅指定一種格式代碼,則所有數字都將採用這種代碼。

您可以設定用於 - [語言設定] - [語言] 的 LibreOffice Basic 中,控制格式化數字、日期及貨幣的語言環境。在 Basic 格式碼中,小數點 (.) 經常用作為定義在您語言環境中之小數點符號的「佔位項」,並將會由對應的字元所取代。

這同樣適用於日期、時間和貨幣等格式的語言環境設定。Basic 格式代碼將依語言環境設定進行解譯和顯示。

錯誤代碼:

5 無效的程序呼叫

示例:

Sub ExampleFormat

    MsgBox Format(6328.2, "##,##0.00")

    當您以 Basic 原始程式碼輸入數字時,REM 一律使用句點當作小數點定義符號。

    REM 例如,在英語語言環境中顯示為 6,328.20,在德語語言環境中顯示為 6.328,20

End Sub