[英]Convert.ToSingle(value, new CultureInfo(“fr”)) method gives 'Exception' for french culture but its working for German culutre
我正在使用Convert.tosingle()方法将值转换为float。 这种方法在“德国”和“西班牙”文化下效果很好,但在波兰和法国文化中却给我“输入字符串格式不正确”的例外。 如何解决。 对于法语和波兰语,我想将值显示为“ 0,85”
下面是代码
string value = "0.85";
float floatValue = Convert.ToSingle(value, new CultureInfo("de"));
//Working fine
float floatValue1 = Convert.ToSingle(value, new CultureInfo("es"));
//Working fine
float floatValue2 = Convert.ToSingle(value, new CultureInfo("fr")); // Giving Exception for French culture
float floatValue3 = Convert.ToSingle(value, new CultureInfo("pl"));
//Exception for Polish culture
谢谢,帕拉维
这是因为在波兰语(并且很可能是法国语)文化中,
(逗号)用作小数点分隔符,而不是点。
因此,您的值必须为0,85
才能适用于这些文化。
那是因为法语没有千位分隔符,而德语则有点作为千位分隔符。
float value = 1234.56f;
Console.WriteLine(value.ToString("#,##0.##", CultureInfo.GetCultureInfo("fr")));
Console.WriteLine(value.ToString("#,##0.##", CultureInfo.GetCultureInfo("de")));
结果:
1 234,56
1.234,56
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.