【发布时间】:2019-02-08 01:41:52
【问题描述】:
当我尝试这条线时:
float f = float.Parse(val, System.Globalization.NumberStyles.AllowDecimalPoint | System.Globalization.NumberStyles.AllowThousands);
其中 val 是设置为“5.267”的字符串,不带引号,我收到此错误:
FormatException:未知字符:。 System.Double.Parse(System.String s,NumberStyles 样式,IFormatProvider 提供程序) System.Single.Parse(System.String s, NumberStyles 样式)
所以我尝试将小数点更改为逗号,例如:5,267 并收到此错误:
FormatException: 未知字符: , System.Double.Parse(System.String s,NumberStyles 样式,IFormatProvider 提供程序) System.Single.Parse(System.String s, NumberStyles 样式)
我....不....明白。据我所知,我这样做是对的。很简单的事情,为什么让我这么难过?
【问题讨论】:
-
为什么不直接做
float.Parse(yourValue);?我刚刚运行它,没有逗号或小数点错误 -
NumberStyles.Any对我来说很好用,你试过吗? -
在您当前的文化中,
.和,是否都不是小数点或千位分隔符? -
@TimGoodman 我不知道为什么,但似乎是这样。我和达摩克利斯有同样的问题。当我使用 CurrentCulture 时,它不会用小数点解析..