Format Function

与えられた数値を文字列に変換してから、指定の書式にフォーマットします。

構文:

Format (Number [, Format As String])

戻り値:

文字列

パラメーター:

Number: 書式設定された文字列にフォーマットさせる数値表式。

Format: 数値の書式コードを指定する文字列Format 関数でこの Format 指定を省略すると、得られる結果は Str 関数の場合と同様のものとなります。

書式コード

下記の一覧は、数値を書式化する際のコードをまとめたものです。

0: 書式コード中の 0 は、Number の該当桁の数字を表示させるよう指定する記号で、該当桁に数値が無い場合は 0 を表示させます。

書式コードに指定した0の桁数よりも Number の数値の桁が小さい場合 (整数部および小数部) は、先頭側および末尾側に 0 が追加表示されます。書式コード中の 0 の桁数よりも数値の整数部の桁が大きい場合は、不足分の桁が補われる形で、整数部がそのまま表示されます。

数値の小数部は、Format コードの小数部に指定する 0 の桁数に合わせて丸められます。

#: Format コード中の # プレースホルダーは、Number の該当桁の数字を表示させるよう指定する記号で、該当桁に数値が無い場合は何も表示させません。

この書式コードは 0 と同様の機能を担っていますが、書式コード側の # の桁数より数値側の桁が小さくても、先頭側および末尾側に 0 が追加表示されない点が異なります。表示されるのは、数値側に実在する桁の数字だけです。

.: 小数点プレースホルダーは、小数点の位置を指定する記号で、この位置に応じて整数部および小数部の桁数も規定されます。

この記号の左側を # プレースホルダーだけで埋めた書式コードを使用すると、1 よりも小さい数値は、先頭が小数点で始まる書式で表示されます。このような場合の整数部に 0 を表示させるのであれば、書式コードの 1 の位の桁のプレースホルダーとして0を指定します。

%: 数値を 100 倍して、書式コード中の該当箇所にパーセント記号 (%) を表示させます。

E- E+ e- e+ :書式コード中で、E-、E+、e-、e+ のいずれかの記号の右側に数値プレースホルダー (0 ないし #) が 1 つでもあれば、数値を指数形式 (科学書式) で表示させます。この場合得られる結果では、数値と指数部の間に E ないし e が表示されます。この記号の右側にくる数値プレースホルダーの数で、指数表示の桁数が決まります。

負の指数の場合は、E-、E+、e-、e+ による指数表示の直前にマイナス記号が表示されます。正の指数の場合は、E+ および e+ による指数表示にのみ、直前にプラス記号が表示されます。

千単位の桁区切りを示す記号を表示させるには、書式コード中の数値プレースホルダーの該当位置に区切り記号を指定しておく必要があります。

ピリオド記号が小数点と千単位の桁区切りのどちらに使われるかは、ロケール設定により決まります。 BASICのソースコード内で数値を直接記述するときは、常にピリオド記号を小数点の記号として使います。 小数点としてどの記号が実際に表示されるかは、システムの数値表式設定により決まります。

- + $ ( ) スペース記号 :書式コード中に、プラス記号 (+)、マイナス記号 (-)、ドル記号 ($)、スペース記号、かっこなどの記号を直接記入した場合は、そのままの記号として表示されます。

ここで説明したプレースホルダなどの記号を、本来の記号そのものとして表記させるには、バックスラッシュ記号 (\) を直前に付けるか、引用符 (" ") で囲む必要があります。

\ : 書式コード中のバックスラッシュ記号は、次に続く記号をそのまま表示させます。

書式コード用に特定の機能を担っている文字の場合、本来の記号そのものとして表記させるには、バックスラッシュ記号を直前に付ける必要があります。同様に、バックスラッシュ記号そのものを表示させるには、書式コード中でバックスラッシュ記号を2つ続けて記入します (\\)。

バックスラッシュ記号を付けないと本来の記号として表示されない書式コード用文字には、日付および時刻の書式設定用文字 (a、c、d、h、m、n、p、q、s、t、w、y、/、:)、数値の書式設定用文字2(#、0、%、E、e、コンマ、ピリオド)、文字列の書式設定用文字 (@、&、<、>、!) が該当します。

数値の書式設定には、事前定義された下記の書式コードも使用できます。「General Number」を除くこれらの書式コードは、どれも有効数字 2 桁の数値を返します。

こうした事前定義された書式コードは、書式コード名を引用符で囲んで使用します。

事前定義された書式コード

General Number: 与えられた数値をそのまま表示します。

Currency: 数値の前に通貨記号を挿入し、負の値の場合はかっこで囲みます。

Fixed: 1 より小さい小数の場合に 1 の位の桁の0を表示させます。

Standard: 千単位の桁区切り記号を表示させます

Percent: 数値を 100 倍して、パーセント記号 (%) を表示させます。

科学: 数字を指数表現で表します (例;1000は1.00E+03 と表示されます )。

書式コードには、セミコロンを区切り記号として、3つのセクションを指定できます。1 番目のセクションは正の値に対する書式指定、2 番目のセクションは負の値に対する書式指定、3 番目のセクションはゼロに対する書式指定です。書式コードを 1 つだけ指定した場合は、これらすべての数値に対して適用されます。

LibreOffice Basic では - 言語設定 - 言語 でローカルユーザーの使う書式設定した数、日付と通貨をコントロールを設定することができます。Basic フォーマットコードでは、小数点 (.) は常に プレースホルダー として使われるので、十進セパレーターはローカルで設定した対応する文字に置き換えられます。

これは、日付、時間、通貨の書式設定とロケールの関係についても同様です。Basic の書式コードは、個々のロケール設定に応じて、適切な表示に変換されます。

Error codes:

5 無効なプロシージャー呼び出しです

例:

Sub ExampleFormat

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

    REM BASICのソースコード内で数値を直接記述するときは、常にピリオド記号を小数点の記号として使います。

    REM ロケール設定が英語であれば 6,328.20 と表示し、ドイツ語であれば 6.328,20 と表示します。

End Sub