VB.NETにおいて、文字列を整数型の数値に変換する関数として、Cint,Clng,Valといったものがあるが、
Val関数とClng関数は同じ結果になると思いこんでいた。
実際は、Clng関数は、Long型の数値に変換される。
一方、Val関数は、17桁まで有効なLong型の数値に変換されるようだ。
ex)
Dim v as String = “120002112365008889” ’18桁の数字文字列
dim lngV as Long = Clng(v) ‘120002112365008889
dim valV as Long =Val(v) ‘120002112365008880 ← 18桁目が0になる