我正在构建一个文化为 pt-BR 的应用程序。在这种情况下,小数位数由,
而不是.
区分。
这适用于我在这里的每个案例但浏览器获得的Geolocation。
public class ClientData
{
public float Latitude { get; set; }
}
在这种情况下,我会收到-30.028212
这样的数字,但模型Binder无法将其转换为float
,因为它期待-30,02821
。
我知道我可以为此创建一个自定义ModelBinder
,我知道我可以创建一个string
属性并将自己转换为另一个属性但我想知道框架是否有内置解决此案例。
我正在寻找一种this的解决方案,但OP已经放弃了。
是否可以使用ASP.NET MVC解决方案处理一个属性的转换?
答案 0 :(得分:0)
我认为解决这个问题的最简单方法是使用该属性。
private string latitude;
public string Latitude
{
get
{
NumberFormatInfo format = new System.Globalization.NumberFormatInfo();
format.CurrencyDecimalSeparator = ",";
return decimal.Parse(latitude).ToString(format);
}
set
{
latitude = value;
}
}