您如何处理小数(,)和javascript?

时间:2018-07-05 14:02:00

标签: javascript c# json asp.net-mvc decimal

我有一个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),我需要用逗号将值打印到输入框中。往返很疯狂...

2 个答案:

答案 0 :(得分:0)

您可以使用stringify-将JavaScript对象转换为字符串,

var myJSON = JSON.stringify(Yourvalue);

答案 1 :(得分:0)

这可能是有帮助的,而不是让服务器负担客户机的疯狂编码选择,而是使用JavaScript来做到这一点。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString

通过'it-IT'时,它可以很好地将98.76转换为98,76