Как вы справляетесь с десятичной (,) и JavaScript? - PullRequest
0 голосов
/ 05 июля 2018

У меня есть приложение 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('.', ',') перед отправкой данных клиентской стороне? Блин не очень хорошо. Лучшие практики?

Парадокс в том, что для валидатора jquery от mvc (требуется decimal) мне нужно вывести значение в поле ввода через запятую. Туда и обратно сумасшедший ...

Ответы [ 2 ]

0 голосов
/ 05 июля 2018

Это может быть полезно, вместо того, чтобы обременять сервер диким выбором кодировки клиента, получите javascript для этого.

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

Превращает 98,76 в 98,76 при прохождении через it-IT

0 голосов
/ 05 июля 2018

Вы можете использовать stringify - это преобразует объект JavaScript в строку,

var myJSON = JSON.stringify(Yourvalue);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...