3

我正在使用 jquery ajax 检索如下 json 字符串并将其显示在 xhtml 页面上

{"pID":"T1","avBal":147765035.20,"accBalance":147713417.00}

我有这样写的jquery,

          $.ajax({

              type : "GET",
              url : '../accData.xhtml',
              dataType : "json",
              async : true,
              cache : false,

              success: function(data) {
                        if(data!=null){
                          $("#accBalance").text(data.accBalance);
                                      $("#avBal").text(data.avBal);
                        }

          },
              error : function() {
          }
         });

这里的问题是它将“avBal”显示为 147765035.2,将“accBalance”显示为 147713417,没有零,值末尾的所有零都会自动截断。这是 jQuery 或 json 的限制还是这里有其他问题?

4

2 回答 2

1

不是 jQuery 或 JSON 的错,而是 JavaScript。JavaScript 是松散类型的,123 和 1.23 都是 Number 类型。如果精度很重要,请将这些值视为字符串。

这是一个漂亮的函数,它将根据需要格式化值:

function toFixed(value, precision) {
    var power = Math.pow(10, precision || 0);
    return String(Math.round(value * power) / power);
}
于 2012-09-13T10:02:10.210 回答
1

请替换您的脚本如下:

$.ajax({

              type : "GET",
              url : '../accData.xhtml',
              dataType : "json",
              async : true,
              cache : false,

              success: function(data) {
                        if(data!=null){
                                //chage is here...
                                 $("#accBalance").text(parseFloat(data.accBalance).toFixed(2));
                                 $("#avBal").text(parseFloat(data.avBal).toFixed(2));
                        }

          },
              error : function() {
          }
         });
于 2012-09-13T12:56:38.420 回答