我是从巴西发展而来的。例如,这里的默认数字格式是“1.000,00”(点而不是逗号,反之亦然)。
我的问题是 MVC Core 2 的默认设置。只需创建一个默认的 ASP.Net MVC Core Web App,创建一个像这样的模型:
public class TestModel
{
public decimal Salary { get; set; } = 1.5M
}
Asp.Net MVC 正确检测到我的文化,并用逗号而不是点显示值。有趣的是当我尝试提交这个时:
好的,页面显示正确,但验证用户界面没有正确获取我的文化...我认为这很奇怪,在某些文化中显示数据并期望在其他文化中收到回...不一致。但是,好的,为了测试,我将“1,50”更改为“1.50”。我提交并在服务器端收到:
对于这个问题,我有很多解决方案,但我认为这种行为真的很奇怪。如果用户期望以一种格式接收数据,默认情况下,我认为必须以相同的格式显示。
但是,好的,管理这种情况的正确(预期?)方法是什么?