开发者

Wrong result from IsNumeric() in VB.NET

开发者 https://www.devze.com 2023-03-22 01:02 出处:网络
I have a function in VB.NET that loops through v开发者_运维百科alues and attempts to convert it to a decimal if IsNumeric is True,

I have a function in VB.NET that loops through v开发者_运维百科alues and attempts to convert it to a decimal if IsNumeric is True,

Dim Value As String

If IsNumeric(Value) = True Then
    Rate = CType(Value, Decimal)  <--- bombing here
End If

I've found that when the function receives the value 603E43 IsNumeric evaluates to True for some reason and then bombs on the conversion. Why would IsNumeric be true in this case?


See http://support.microsoft.com/kb/329488

IsNumeric returns true if it can be converted to a double which is true for 603E43 The value is however larger than what a decimal can hold

You could use the Decimal.TryParse funcion as a working alternative. See http://msdn.microsoft.com/en-us/library/9zbda557.aspx

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号