首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何正确使用CultureInfo.InvariantCulture

如何正确使用CultureInfo.InvariantCulture
EN

Stack Overflow用户
提问于 2011-06-02 02:15:14
回答 2查看 2.3K关注 0票数 0

我尝试从用户输入(字符串)中读取一个数字,如下所示:

代码语言:javascript
复制
' Where "." is grouping separator and "," is the decimal character
dim strUserInput as string = "172.500,00"
dim ret as double

' Produces 172.5 ("." is the decimal separator)
ret = val(strUserInput)
'
' Alternative Way
' Still producing 172.5
strUserInput = strUserInput.tostring(CultureInfo.InvariantCulture) 'nothing changes
ret = val(strUserInput)

如何正确使用CultureInfo将172,500.00 (或172500,00或仅172500)返回给双精度变量?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-02 02:23:27

MSDN documentation for val

Val函数仅识别句点(.)作为有效的小数分隔符。当使用不同的小数分隔符时,请改用CDbl或CInt将字符串转换为数字。若要将特定区域性中数字的字符串表示形式转换为数值,请使用数值类型的Parse( string,IFormatProvider)方法。例如,在将字符串转换为双精度值时使用System.Double.Parse(System.String,System.IFormatProvider)。

票数 1
EN

Stack Overflow用户

发布于 2011-06-02 02:34:22

代码语言:javascript
复制
Double.Parse("175.500,00", CultureInfo.GetCultureInfo("whatever culture the input is"))

德国文化"de“使用十进制逗号和句点作为千位分隔符,所以如果你不知道,你可以用它。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6205805

复制
相关文章

相似问题

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