VB6・VBA関数メモ:Val関数

Val関数についてメモしておきます。
文字列をDouble型の数値に変換する関数になります。

同じDouble型に変換するCDbl関数との違いは、
数値以外の文字列が混じっていても変換できるためエラーが出にくい点です。
ただし、CDbl関数と違い「,」区切りの数値の文字列は変換できません。


概要

Val(String As String) As Double
機能 指定した文字列を数値に変換
引数 String 変換する文字列 String型
戻り値 変換した数値 Double型


使用例

説明 記述例 出力
指定値をDouble型に変換 Val("1.23") 1.23


動作検証

説明 記述例 出力
数値の前後や間に全角・半角スペースや
タブ・改行があっても変換可能
Val("  1  " & vbTab & ".2" & vbCrLf & "3  ") 1.23
数値の後ろに文字列がある場合、数値部分のみ取得 Val("1.23abc") 1.23
数値の前に文字列がある場合は0を返す Val("abc1.23") 0
数値以外の文字列のみの場合は0を返す Val("abc") 0
「,」区切りの数値は変換できない Val("1,234,567") 1
16進数の数値の文字列も変換可能 Val("&H123") 291
8進数の数値の文字列も変換可能 Val("&O123") 83
指数表記の数値の文字列も変換可能 Val("123E-2") 1.23
Double型の最小値(-1.79769313486231E308)を
下回るとエラーとなる
Val(-1.79769313486232E+308) エラー
Double型の最大値(1.79769313486232E307)を
上回るとエラーとなる
Val(1.79769313486232E308) エラー
Nullを指定するとエラーとなる Val(Null) エラー
vbNullStringを指定すると0を返す Val(vbNullString) 0
vbNullCharを指定すると0を返す Val(vbNullChar) 0


コメント
コメントする








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