VB6・VBA関数メモ:IsNumeric関数

IsNumeric関数についてメモしておきます。
値が数値かどうかを検証する関数になります。

文字列が数値のみの場合や、16進数、指数表記の場合等はどう扱われるか疑問だったので
動作検証してみました。
数値と「E」のみの文字列の場合、指数表記の数値と誤認され兼ねないので要注意かもしれません。


概要

IsNumeric(Expression) As Boolean
機能 指定値が数値か否かを返す
引数 Expression 検証する値 Variant型
戻り値 数値の場合「True」
数値ではない場合「False」
Boolean型


使用例

説明記述例出力
数値を指定した場合 IsNumeric(123) True
文字列を指定した場合 IsNumeric("abc") False


動作検証

説明記述例出力
数値のみの文字列を指定した場合は
数値として扱われる
IsNumeric("123") True
16進数の数値の文字列の場合は
数値として扱われる
IsNumeric("&H123") True
8進数の数値の文字列の場合は
数値として扱われる
IsNumeric("&O123") True
小数の数値の場合は
数値として扱われる
IsNumeric(0.123) True
小数の数値のみの文字列を指定した場合は
数値として扱われる
IsNumeric("0.123") True
指数表記の数値の場合は
数値として扱われる
IsNumeric(123E-3) True
指数表記の数値のみの文字列を指定した場合は
数値として扱われる
IsNumeric("123E-3") True
列挙体の場合は
数値として扱われる
Enum enVal
    val
End Enum



IsNumeric(enVal.val)
True


コメント
コメントする








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