Десятичные дроби, не передающиеся должным образом при обратной передаче JSON на C#

#c# #json #model-view-controller #jquery

#c# #json #модель-представление-контроллер #jquery

Вопрос:

Я передаю цену продукта обратно из моего интерфейса, используя JSON и вызов jQuery AJAX. Всякий раз, когда я передаю десятичное число обратно, которое является просто целым числом (21 вместо 21,50), объект JSON не включает десятичную точку и не заполняет мое свойство decimal в результирующем методе action. Есть ли простой способ заставить jscript всегда явно включать .00 для круглых чисел?

Ответ №1:

Если вы хотите принудительно использовать десятичную дробь, просто вызовите toFixed функцию для числа, когда вы создаете свои данные для обратного вызова.

 var flatNum = 21;

$.ajax({
  data: {
    name: "Name",
    num: flatNum.toFixed(2);
  },
  ...
});
  

Выполнение этого увеличит число до двух знаков после запятой (и округлит, если точность больше этой).

Комментарии:

1. Извините, потребовалось некоторое время, чтобы ответить, это правильный ответ. Я нашел функцию до возврата в StackOverflow. Спасибо за ответ!