解析当前文化的双重价值

时间:2011-08-26 13:40:44

标签: c# .net asp.net-mvc asp.net-mvc-3 model-binding

ASP.NET MVC不绑定“1.5”double值(因为当前文化的格式无效)。因此,我正在努力为当前的文化解析它。

我的解决方案是用当前文化的有效浮点分隔符替换“1.5”浮点数。

如何在当前文化中用有效的分隔符替换浮动分离器?

你有更好的解决方案吗?

2 个答案:

答案 0 :(得分:0)

只需指定解析时要使用的文化:

CultureInfo culture = new CultureInfo(Request.UserLanguages[0]);
return double.Parse("1.5", culture.NumberFormat);

有关详细信息,请参阅the documentation

答案 1 :(得分:0)

如果你只想在文化中解析“1.5”,试试这个:

var culture = System.Globalization.CultureInfo.GetCultureInfo("en-US");
Double.Parse("1.5", culture.NumberFormat);

这创建了一个en-US文化的实例,并告诉解析器在这种特定情况下使用它。