Javascript:格式化数字的更简单方法? [关闭]
Posted
技术标签:
【中文标题】Javascript:格式化数字的更简单方法? [关闭]【英文标题】:Javascript: Easier way to format numbers? [closed] 【发布时间】:2009-04-07 14:50:26 【问题描述】:我正在尝试格式化页面上的各种数字。这些数字代表价格、价格变化或百分比。我知道 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”格式化程序中有一个黑客,我尝试将 +/- 符号移到'$' 符号。
基本上,我希望有一些库可以模拟 Java 的 DecimalFormat 类。
【问题讨论】:
developer.mozilla.org/en/docs/Web/JavaScript/Reference/… 【参考方案1】:这里有 NUMBERFORMATTER jQuery 插件,详情如下:
https://code.google.com/p/jquery-numberformatter/
从上面的链接:
这个插件是一个 NumberFormatter 插入。数字格式可能 与任何合作过的人都熟悉 服务器端代码,如 Java 或 php 和 谁合作过 国际化。
编辑:将链接替换为更直接的链接。
【讨论】:
你应该链接到plugins.jquery.com/project/numberformatter。 你说得对,谢谢。完成。 酷,这正是我想要的。 这个插件被弃用了吗? 链接因 jQuery 插件站点消失而失效。这是位于code.google.com/p/jquery-numberformatter 的同一个插件吗【参考方案2】:不,没有对数字格式的内置支持,但谷歌搜索会显示大量代码 sn-ps 将为您完成此操作。
编辑:我错过了你帖子的最后一句话。尝试 http://code.google.com/p/jquery-utils/wiki/StringFormat 获取 jQuery 解决方案。
【讨论】:
他不是要求内置支持,而是要求一个库。 帖子说“我知道 Javascript 具有限制小数位数的功能,但是否支持其他类型的格式”。读起来像是他在询问内置支持,如果你不像我一样阅读整篇文章:)【参考方案3】:刚刚完成了一个用于格式化数字 Numeral.js 的 js 库。它处理小数、美元、百分比甚至时间格式。
【讨论】:
感谢 adamwdraper!我需要一个不涉及 jQuery 的解决方案。【参考方案4】:也可以试试dojo.number,它具有内置的本地化支持。它更接近于 Java 的 NumberFormat/DecimalFormat
【讨论】:
【参考方案5】:如果有人感兴趣,这里是 YUI 版本:
http://developer.yahoo.com/yui/docs/YAHOO.util.Number.html
var str = YAHOO.util.Number.format(12345, thousandsSeparator: ',' );
【讨论】:
以上是关于Javascript:格式化数字的更简单方法? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章