VB6・VBA関数メモ:FormatNumber関数

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

この関数は数値の書式変換をする際に使用します。
小数点以下の桁数や、負数の場合にカッコで囲む、桁区切りの指定を行うことができます。

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


概要

FormatNumber(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桁の数値の文字列に変換 FormatNumber(123, 3) "123.000"
小数点の左側の0を表示しない FormatNumber(0.123, 3, vbFalse) ".123"
負の数値の場合、カッコで囲んだ形式の数値の文字列に変換 FormatNumber(-123, 0, , vbTrue) "(123)"
数値を桁区切りした数値の文字列に変換 FormatNumber(123456789, 0, , , vbTrue) "123,456,789"


動作検証

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


コメント
コメントする








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