转换为 Double 类型无效?
The Conversion to type Double is not valid?
我在 VB.net 中有一个错误
If CurrencyHolder.Text > 0 And CurrencyHolder.Text < 10000 Then
我正在使用 Maskedinputbox 00000.00
当我执行我的代码并且 Maskedinputbox 为空时,我收到以下错误:
**尽力翻译!!!:$ )
signstreak 的转换。输入 double 无效
我该如何解决这个问题?
您可以使用 val() : - Returns 字符串中包含的数字作为适当类型的数值.
If Val(CurrencyHolder.Text) > 0 AndAlso Val(CurrencyHolder.Text) < 1000 Then
'code
End If
注意事项
val()
仅考虑 .
检查小数点分隔符,以防最终用户的 lcoale 小数点样式不是 .
这将不起作用
使用 Double.Parse
/Double.TryParse
或 Decimal.Parse
/Decimal.TryParse
。对于货币 Decimal
是正确的类型。
Dim currency as Decimal
Dim valid as Boolean = Decimal.TryParse(CurrencyHolder.Text, currency)
If valid AndAlso currency > 0 AndAlso currency < 10000 Then
' ... '
End If
https://msdn.microsoft.com/en-us/library/system.decimal.tryparse(v=vs.110).aspx
如果您当前的小数点分隔符与您想要支持的不同(f.e。您使用 123,50€
但您必须解析的值是 123.50$
),您可以使用解析方法的重载。例如:
Dim valid As Boolean = Decimal.TryParse(CurrencyHolder.Text, NumberStyles.Currency, NumberFormatInfo.InvariantInfo, currency)
我在 VB.net 中有一个错误
If CurrencyHolder.Text > 0 And CurrencyHolder.Text < 10000 Then
我正在使用 Maskedinputbox 00000.00 当我执行我的代码并且 Maskedinputbox 为空时,我收到以下错误:
**尽力翻译!!!:$ ) signstreak 的转换。输入 double 无效
我该如何解决这个问题?
您可以使用 val() : - Returns 字符串中包含的数字作为适当类型的数值.
If Val(CurrencyHolder.Text) > 0 AndAlso Val(CurrencyHolder.Text) < 1000 Then
'code
End If
注意事项
val()
仅考虑 .
检查小数点分隔符,以防最终用户的 lcoale 小数点样式不是 .
这将不起作用
使用 Double.Parse
/Double.TryParse
或 Decimal.Parse
/Decimal.TryParse
。对于货币 Decimal
是正确的类型。
Dim currency as Decimal
Dim valid as Boolean = Decimal.TryParse(CurrencyHolder.Text, currency)
If valid AndAlso currency > 0 AndAlso currency < 10000 Then
' ... '
End If
https://msdn.microsoft.com/en-us/library/system.decimal.tryparse(v=vs.110).aspx
如果您当前的小数点分隔符与您想要支持的不同(f.e。您使用 123,50€
但您必须解析的值是 123.50$
),您可以使用解析方法的重载。例如:
Dim valid As Boolean = Decimal.TryParse(CurrencyHolder.Text, NumberStyles.Currency, NumberFormatInfo.InvariantInfo, currency)