很好地显示数值

时间:2012-05-27 13:01:57

标签: javascript regex

我有一个对象MyObject,它包含一个有时是数字的MyProp属性。目前,我将这个数字显示为这样的文字:

$('#MyDiv').text(MyObject.MyProp);

我想为此号码添加格式。我可以检查它的数字,但我想知道如何进行数字格式化。

if ($.isNumeric(MyObject.MyProp) === false) {

   $('#MyDiv').text(MyObject.MyProp);

} else {

   var PrettyNumber = MakePrettyNumber(MyObject.MyProp);
   $('#MyDiv').text(PrettyNumber);
}

我正在考虑循环遍历数字字符串的长度并添加逗号以分隔数千并为小数添加一个点。有没有更好的办法?一个不需要插件?

感谢。

2 个答案:

答案 0 :(得分:0)

function MakePrettyNumber(x) {
  var res = x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
  res = res.replace(/^([^\.]*)$/g, "$1.000");
  return res;
}

详情请见此处:How to print a number with commas as thousands separators in JavaScript

答案 1 :(得分:-2)

你可以这样做:

var a= MyObject.MyProp,
number = a.substring(0,4) + ',' + a.substring(4,6) + ',' + a.substring(6)