.net 转换为Double类型无效?
我在VB.net中有一个错误.net 转换为Double类型无效?,.net,vb.net,type-conversion,decimal,maskedinput,.net,Vb.net,Type Conversion,Decimal,Maskedinput,我在VB.net中有一个错误 如果CurrencyHolder.Text>0且CurrencyHolder.Text0,并且Val(CurrencyHolder.Text) v>(只考虑 .,以检查最终用户的LCOAL小数点样式不同于。< /代码>不适用< >双。解析< /代码> />代码>双。TyPARSE < /C> >或十进制。解析> />代码>十进制。对于货币,Decimal是正确的类型 Dim currency as Decimal Dim valid as Boolean = D
如果CurrencyHolder.Text>0且CurrencyHolder.Text<10000,则
我正在使用一个Maskedinputbox 00000.00
当我执行代码且Maskedinputbox为空时,我得到以下错误:
**我尽力翻译了!!!:$)
signstreak的转换。键入double无效
如何解决此问题?您可以使用:-将字符串中包含的数字作为适当类型的数值返回
如果Val(CurrencyHolder.Text)>0,并且Val(CurrencyHolder.Text)<1000,则
“代码
如果结束
注意事项
<>代码> v>(<代码>只考虑<代码> .<代码>,以检查最终用户的LCOAL小数点样式不同于<代码>。< /代码>不适用< <代码> >双。解析< /代码> />代码>双。TyPARSE < /C> >或<代码>十进制。解析> <代码> />代码>十进制。对于货币,
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
你好,Wingedparter,这个有效!但我不知道为什么会这样。你能给我解释一下吗:)?@TheBlinderCoder更新了!!但是,如果用户输入的字符不可编辑,则会导致运行时错误cast@5uperdan仅供参考,带有
00000.00
掩码的掩码文本框只接受数值whyVal
而不接受.NET?使用Double.Parse
/Double.TryParse
或Decimal.Parse
/Decimal.TryParse
+1这应该是可接受的答案,此外,您还正确地选择了Op应该使用十进制日期类型
Dim currency as Decimal
Dim valid as Boolean = Decimal.TryParse(CurrencyHolder.Text, currency)
If valid AndAlso currency > 0 AndAlso currency < 10000 Then
' ... '
End If
Dim valid As Boolean = Decimal.TryParse(CurrencyHolder.Text, NumberStyles.Currency, NumberFormatInfo.InvariantInfo, currency)