1

我有一个对象 MyObject,其中包含一个属性 MyProp,该属性有时是数字。目前,我将数字显示为如下文本:

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

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

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

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

} else {

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

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

谢谢。

4

2 回答 2

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

有关详细信息,请参见此处:如何在 JavaScript 中打印带有逗号作为千位分隔符的数字

于 2012-05-27T13:06:28.333 回答
-2

您可以执行以下操作:

var a= MyObject.MyProp,
number = a.substring(0,4) + ',' + a.substring(4,6) + ',' + a.substring(6)
于 2012-05-27T13:04:31.310 回答