VB6・VBA関数メモ:Str関数

Str関数についてメモしておきます。
数値を文字列に変換する際に使用します。

引数名はNumberですが、数値以外にDate型やBoolean型に文字列に変換できるようです。
ヘルプを見る限りでは数値を文字列に変換する関数のようですが…

似た関数にCStr関数がありますが、下記の動作検証のように若干違いはあるようです。
個人的にはCStr関数の方が良く使いますね…数値でない文字列でエラーにならないし正の数値の先頭に半角スペース付かないし

※検証はしていませんが、この関数では小数点記号がピリオド(.)のみ有効らしいので、
 小数点記号が異なる環境の場合はCStr関数を使う必要があるようです。


概要

Str(Number)
機能 数値を文字列に変換
引数 Number 変換する数値 Variant型
戻り値 変換した値 Variant型(String型)


使用例

説明 記述例 出力
数値を文字列に変換
(正の数値の場合は変換した
文字列の先頭に半角スペースが付きます)
Str(123) " 123"
Str(1.23) " 1.23"
Str(-123) "-123"
Str(-1.23) "-1.23"
Boolean型を文字列に変換 Str(True) "True"
Date型を文字列に変換 Str(Now) "2011/12/10 15:45:28"


動作検証

説明 記述例 出力
正の数値を指定すると
先頭に半角スペースが付与される
(CStr関数では付かない)
Str(123) " 123"
CStr(123) "123"
数値でない文字列を指定するとエラー
(CStr関数では指定できるようです)
Str("abc") エラー
CStr("abc") "abc"
Nullを指定するとNullが返る
(CStr関数ではエラーとなるようです)
Str(Null) Null
CStr(Null) エラー
16進数の数値の文字列は変換可能 Str("&H123") " 291"
8進数の数値の文字列は変換可能 Str("&O123") " 83"
指数表記の数値の文字列は変換可能 Str("123E-2") " 1.23"
文字列の日時の場合はエラー Str("2011/12/13") エラー
文字列のTrue/Falseの場合はエラー Str("True") エラー
Nothingを指定するとエラーとなる Str(Nothing) エラー
オブジェクトを指定するとエラーとなる Str(New Collection) エラー


コメント
コメントする








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