C#float.tryparse为法国文化

前端之家收集整理的这篇文章主要介绍了C#float.tryparse为法国文化前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个用户输入,可以包含从3.06 OR 3,06的浮点值
我们所在的文化是法语,因此当用户输入3.06时,我在该值上运行一个float.tryParse,它不会被转换为3.06变成一个新的变量(float类型)
// inputUsedAmount.Value from UI is : 3.06
float usedAmount = 0.0f;
float.TryParse(inputUsedAmount.Value,out usedAmount);
// returns false

我可以简单地从UI中输入的金额替换“”.到“,”,但是有没有通过文化这样做的优雅/更好的方式?
谢谢

解决方法

您可以使用采用格式提供程序的 overload.您可以通过法国文化信息:
string value;
NumberStyles style;
CultureInfo culture;
double number;

value = "1345,978";
style = NumberStyles.AllowDecimalPoint;
culture = CultureInfo.CreateSpecificCulture("fr-FR");
if (Double.TryParse(value,style,culture,out number))
   Console.WriteLine("Converted '{0}' to {1}.",value,number);
else
   Console.WriteLine("Unable to convert '{0}'.",value);
// Displays:
//       Converted '1345,978' to 1345.978.

猜你在找的C&C++相关文章