首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >转换为Double类型无效吗?

转换为Double类型无效吗?
EN

Stack Overflow用户
提问于 2016-01-07 11:01:26
回答 2查看 957关注 0票数 1

我在VB.net If CurrencyHolder.Text > 0 And CurrencyHolder.Text < 10000 Then中出错了

当我执行代码时,我使用的是Maskedinputbox 00000.00,而且Maskedinputbox是空的,我得到以下错误:

**我已尽力翻译:$)讯号的转换。键入double无效

我怎么才能解决这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-07 11:16:08

可以使用瓦尔():-将字符串中包含的数字作为适当类型的数值返回。

代码语言:javascript
复制
If Val(CurrencyHolder.Text) > 0 AndAlso Val(CurrencyHolder.Text) < 1000 Then
            'code
        End If

警告

val()只考虑.来检查小数分隔符,以防最终用户的小数点的lcoale样式不是.,这将不起作用

票数 -1
EN

Stack Overflow用户

发布于 2016-01-07 11:32:39

使用Double.Parse/Double.TryParseDecimal.Parse/Decimal.TryParse。对于货币而言,Decimal是合适的类型。

代码语言:javascript
复制
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$),您可以使用解析方法的重载。例如:

代码语言:javascript
复制
Dim valid As Boolean = Decimal.TryParse(CurrencyHolder.Text, NumberStyles.Currency, NumberFormatInfo.InvariantInfo, currency)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34653477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档