開発環境:
Windows10 Pro
Microsoft Visual Studio Community 2019
開発言語:
VB.NET FrameWork4.7.2
VB.NET では名前空間Microsoft.VisualBasic(imports Microsoft.VisualBasic)
のVal関数ですが、単純に文字列をDoubleに変換してくれる便利な関数と思っていました。
より厳密には
「文字列から数値として読み取り可能な部分のみを返すことができ、不正な文字ばかりの場合は、0 を返すことができる。」関数ということのようです。
に詳しく書いてありました。
ただしVal 関数は、「数値の一部として認識できない最初の文字で、文字列の読み取りを中止します。
数値の一部と見なされることが多い記号や文字 (ドル記号、コンマなど) は、認識されません。」
とのことですので、
「123,234.50」の場合123までしか返ってきません。
123234.50という値を取得するには、
Dim mStr as string = "123,234.50"
if IsNumeric(mStr) then
Debug.print(cDec(mStr))
End if
のような処理となります。
Val関数はやはりあまり使わない方が無難のようです。
それはともかく、体がかゆい。
乾燥のせいか・・。
夜、加湿器を付けているが、リビングと寝室で一台なので、少し無理があるか・・・。
寝室用に小さくて良いので加湿器が欲しい。
今年はなぜかミーは寝室で寝ずにリビングで寝ている。
元々ミーを室内飼いするために買った加湿器なので・・・。
でも水が24時間持たない。