VB6・VBA関数メモ:FormatCurrency関数

FormatCurrency関数についてメモしておきます。

この関数はOSで定義されている書式を使って通貨形式の文字列に書式変換をする関数になります。
小数点以下の桁数や、負数の場合にカッコで囲む、桁区切りの指定を行うことができます。

ただし、これでできない処理の場合はFormat関数を使用する必要がありそうです。
(数値の0埋め等)


概要

FormatCurrency(Expression, [NumDigitsAfterDecimal As Long = -1], _
                [IncludeLeadingDigit As VbTriState = vbUseDefault], _
                [UseParensForNegativeNumbers As VbTriState = vbUseDefault], _
                [GroupDigits As VbTriState = vbUseDefault]) As String
機能 数値を通貨形式の文字列に変換
引数 Expression 変換する値 Variant型
NumDigitsAfterDecimal (省略時は-1)
小数点以下の桁数
-1の時は[地域のプロパティ]値を使用
Long型
IncludeLeadingDigit (省略時はvbUseDefault)
小数点の左側のゼロを表示するか否か
VbTriState列挙体
UseParensForNegativeNumbers (省略時はvbUseDefault)
負の数値の場合にカッコで囲むか否か
VbTriState列挙体
GroupDigits (省略時はvbUseDefault)
桁区切りを行うか否か
VbTriState列挙体
戻り値 変換した文字列 String型


VbTriState列挙体

定数名 説明
vbTrue -1 真(True)
vbFalse 0 偽(False)
vbUseDef -2 [地域のプロパティ]の設定値


使用例

説明 記述例 出力
数値を小数点以下3桁の数値の文字列に変換 FormatCurrency(123, 3) "¥123.000"
小数点の左側の0を表示しない FormatCurrency(0.123, 3, vbFalse) "¥.123"
負の数値の場合、カッコで囲んだ形式の数値の文字列に変換 FormatCurrency(-123, 0, , vbTrue) "(¥123)"
数値を桁区切りした数値の文字列に変換 FormatCurrency(123456789, 0, , , vbTrue) "¥123,456,789"


動作検証

説明 記述例 出力
Nullを指定してもエラーにはならない FormatCurrency(Null) ""
文字列を指定した場合はエラー FormatCurrency("abc") エラー
日時を指定した場合は数値の文字列に変換される FormatCurrency(#2011/12/18#) "¥40,895"


コメント
コメントする








    
この記事のトラックバックURL
トラックバック