当我尝试这一行时:
float f = float.Parse(val, System.Globalization.NumberStyles.AllowDecimalPoint | System.Globalization.NumberStyles.AllowThousands);
Run Code Online (Sandbox Code Playgroud)
其中val是一个设置为"5.267"而没有引号的字符串,我收到此错误:
FormatException:未知的char :. System.Double.Parse(System.String s,NumberStyles样式,IFormatProvider提供程序)System.Single.Parse(System.String s,NumberStyles样式)
所以我尝试将小数点更改为逗号,如:5,267并得到此错误:
FormatException:Unknown char :, System.Double.Parse(System.String s,NumberStyles style,IFormatProvider provider)System.Single.Parse(System.String s,NumberStyles style)
我....不....明白.据我所知,我做得对.这是一件简单的事情,为什么它会给我这样的悲伤呢?
Mat*_*int 12
Parse具有文化意识.如果您当地的文化有不同的要求,那么您可能想要传递文化或其他格式提供者.尝试使用CultureInfo.InvariantCulture.如果你这样做,你将不需要小数选项.
float f = float.Parse(val,
System.Globalization.NumberStyles.AllowThousands,
CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)