【发布时间】:2018-07-05 14:02:00
【问题描述】:
我有一个ASP.NET MVC 应用程序C#,还有一些数字输入到我的Model decimal 类型中,它们将小数部分视为逗号(即12,5)。
我将它们序列化并使用JSON 发送给客户端,它正确地将逗号转换为点:
var result = Json(new { Value = myModel.myValue }); // become Value = 12.5
比我处理数据客户端,使用一些数学函数,总是用点(即 12.5 * 3 = 37.5)获取数值。
但是,当我需要将处理后的值发回服务器时,如果我保留该点并将该值存储到我的Model(如前所述,即decimal)中,它会截断后面的值点。
在客户端发回数据之前,我真的需要做result.replace('.', ',') 吗?该死的不太好。最佳做法?
矛盾的是,对于 mvc 的 jquery 验证器(需要 decimal),我需要用逗号将值打印到输入框中。往返太疯狂了……
【问题讨论】:
-
“将小数部分视为逗号”听起来像是一个本地化问题。
-
这不是本地化问题 :) 在欧洲,它是分隔小数部分的逗号。没错,我要这样!
-
“这不是本地化问题” “在欧洲” 我在英国。祝你好运!
-
@Davesoft:en.wikipedia.org/wiki/Decimal_separator#/media/…我在意大利,看起来是对的,不是吗?
-
"在客户端发回数据之前,我真的需要执行 result.replace('.', ',') 吗?"听起来像是本地化问题...
标签: javascript c# json asp.net-mvc decimal