创建函数正常数字格式?

时间:2011-12-29 18:18:42

标签: javascript number-formatting

我尝试了以下代码,但无效会触发错误:

val.reverse is not a function

我该如何解决?

演示: http://jsfiddle.net/9ysZa/

//I want this output: 1,455,000
function num(val){
         var result = val.reverse().join("")
                          .match(/[0-9]{1,3}/g).join(",")
                          .match(/./g).reverse().join("");
    return result     
}
alert(num('1455000'))

1 个答案:

答案 0 :(得分:3)

DEMO

reverseArray.prototype上的一种方法 - 它适用于数组。由于val是一个字符串,因此您需要调用val.split('')将其转换为数组。

function num(val){
         var result = val.split('').reverse().join("")
                          .match(/[0-9]{1,3}/g).join(",")
                          .match(/./g).reverse().join("");
    return result     
}
alert(num('1455000'));

警告您正在寻找的结果。

修改

根据您的评论,您似乎希望在数字 1455000而不是字符串'1455000'上运行此功能。如果是这样,在toString之前添加split()调用将起作用(并且将对字符串**和数字起作用)。

这是updated fiddle