Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 转换为Double类型无效?_.net_Vb.net_Type Conversion_Decimal_Maskedinput - Fatal编程技术网

.net 转换为Double类型无效?

.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

我在VB.net中有一个错误
如果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
掩码的掩码文本框只接受数值why
Val
而不接受.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)