Javascript中的高效USD格式

时间:2010-05-03 10:41:01

标签: javascript string

说我有一个字符串:33400298.57

我写了一个函数(太长,太臃肿,太不合格而无法发布),将其格式化为:

33,400,298.57

肉类逻辑是插入逗号 - 小数点的左侧,每三个位置。可以使用正则表达式来实现这一目标吗?现在,我正在分裂,反转,循环插入,反转和再次连接。不用说,这不是最理想的。

我正在寻找类似的东西:

随机颜色生成器:'#'+ Math.floor(Math.random()* 16777215).toString(16);

感谢。

3 个答案:

答案 0 :(得分:2)

正则表达式这个性感的小数字怎么样:

s = "33400298.57";
s.replace(/(?!^)(\d\d\d)(?=(\d\d\d)*\.)/g, ',$1'); // 33,400,298.57

答案 1 :(得分:0)

由于我在JavaScript之上使用jQuery,我会使用jQuery插件。像这样:

http://code.google.com/p/jquery-formatcurrency/

如果您使用的是其他JavaScript库,我会寻找该库的插件。 我会避免编写自己的格式化方法。不要重新发明轮子。

答案 2 :(得分:0)

嗯,有数字toLocaleString

Number(12345.67).toLocaleString();

然而,这是特定于语言环境的,因此需要注意。