JSON результат удаляет 0,00 при отображении в пользовательском интерфейсе - PullRequest
1 голос
/ 12 августа 2011

Вот так выглядит мой пользовательский интерфейс

My Rendered Output

Моя страница aspx возвращает следующие данные json при вызове ajax

{
    "List": {
        "Table": [
            {
            "ID": 119,
            "ProjectName": "Date Testing",
            "ProjectDesc": "",
            "Owner": 22,
            "Colaborators": 22,
            "Priority": 3,
            "Status": 7,
            "BeginDate": "\/Date(1312137000000+0530)\/",
            "EndDate": "\/Date(1316543400000+0530)\/",
            "Budget": 105.90,
            "BudgetInDay": 30.80,
            "BudgetResource": ""}
        ],
        "Table1": [
            {
            "Tasks": 10}
        ],
        "Table2": [
            {
            "BudgetInDay": 30.80,
            "TotalTaskCostInDay": 11.00,
            "BalanceOfDays": 19.80,
            "Budget": 105.90,
            "TotalTaskCost": 75.00,
            "Balance": 30.90}
        ]
    }
}

Теперь проблема в том, что в Table2 объекте есть два поля «BudgetInDay» и «TotalTaskCostInDay» , имеющие десятичные значения. Когда я отображаю оба "BudgetInDay" показывает правильно с точностью, но в случае "TotalTaskCostInDay" точность vale является усеченной, потому что значение точности равно .00.

Ответы [ 2 ]

4 голосов
/ 12 августа 2011

Ваши значения не строки, а целые числа.Что касается движка JavaScript, 75 == 75.00.

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

var TotalTaskCost = 75.00; // or 75, or 75.00000. It's all the same
TotalTaskCost = TotalTaskCost.toFixed(2);

console.log(TotalTaskCost); // Logs 75.00
1 голос
/ 12 августа 2011

Вы можете форматировать значения с плавающей запятой, используя метод toFixed.

alert( yourObject.List.Table2.Budget.toFixed(2) );

http://www.pageresource.com/jscript/j_a_03.htm

Если применить это к другим значениям, для 19.80 будет отображаться как 19.80, а не 19.8.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...