投稿者 魔界の仮面弁士  (社会人) 投稿日時 2017/12/16 11:19:45
.NET 版の Spread は使ったことがありませんが、
> : 'String "" から型 'Double' への変換は無効です。'
というメッセージからすると  CDbl("")  相当の処理になるのでしょうね。


> Dim minZero As Integer = 0
> If (MyBase.GetSorce()) < minZero.ToString Then

これって要するに、
 If GetSorce() < "0" Then
と同じ意味ですよね。
なので、GetSorce が "" を返してきた場合にも成立し、
SetErrorMsg が呼び出されることになる、と。


> 空白でも同様のエラーメッセージが出てしまいます。
空白時にはどのようになってほしいのでしょうか。
とりあえず、以下のようなパターンが思い当たりますが。

・空白だった場合
・非数値だった場合
・負数だった場合
・0だった場合
・正数だった場合

もしも数値として扱えるかどうかを調べたいのあれば、
Decimal.TryParse や Double.TryParse といったメソッドを利用できます。