代码之家  ›  专栏  ›  技术社区  ›  Tim Frey

javascript:更容易格式化数字的方法?[关闭]

  •  17
  • Tim Frey  · 技术社区  · 16 年前

    我正在尝试格式化页面上的各种数字。这些数字要么代表价格,要么代表价格变化,要么代表百分比。我知道javascript具有限制小数位数的功能,但是是否支持其他类型的格式设置,例如用逗号对数字分组、控制是否显示+/-等?以下是我目前为止的情况:

    var FORMATTER = {
        price       : function(value) { return '$' + value.toFixed(2); },
        pricePer    : function(value) { return (value * 100).toFixed(2) + '%'; },
        priceChg    : function(value) { return (value >= 0 ? '+' : '-') + '$' + Math.abs(value).toFixed(2); }
    };
    

    它工作正常,但它想添加逗号到“price”格式化程序,你可以看到有一个黑客在“pricechg”格式化程序,我试图移动“$”符号前面的+/-符号。

    基本上,我希望在那里有一些库(jQuery是OK),它模仿Java的DimialFrand类。

    5 回复  |  直到 16 年前
        1
  •  16
  •   FireLeopard karim79    10 年前

    有一个数字格式化程序jquery插件,详细信息如下:

    https://code.google.com/p/jquery-numberformatter/

    从上面的链接:

    此插件是数字格式设置工具 插件。数字格式可能 任何与之共事的人都熟悉 像Java或PHP那样的服务器端代码 和谁一起工作过 国际化。

    编辑:用更直接的链接替换了链接。

        2
  •  4
  •   ithcy    16 年前

    不,没有对数字格式的内置支持,但是谷歌会显示大量的代码片段,这些代码片段可以为您实现这一点。

    编辑:我错过了你文章的最后一句话。尝试 http://code.google.com/p/jquery-utils/wiki/StringFormat 对于jquery解决方案。

        3
  •  3
  •   adamwdraper    12 年前

    刚刚完成了一个JS库,用于格式化数字 Numeral.js . 它处理小数、美元、百分比甚至时间格式。

        4
  •  1
  •   peller    15 年前

    也尝试 dojo.number 内置本地化支持。它与Java的数字格式/十进制格式更接近。

        5
  •  0
  •   Mike Christensen    13 年前

    如果有人感兴趣的话,这是YUI版本:

    http://developer.yahoo.com/yui/docs/YAHOO.util.Number.html

    var str = YAHOO.util.Number.format(12345, { thousandsSeparator: ',' } );