所谓的数字千分位形式,即从个位数起,每三位之间加一个逗号。例如“10,000.00”。针对这个需求,我写了这样一个函数:
function parseNum(num){
if(num==null||num=="undefined"){
return "";
}else if(num == ""){
return parseFloat(0).toFixed(2);
}else{
if(num < 0 ){
var numstr = String(num);
var nums = numstr.substr(1);
var s = parseFloat(nums).toFixed(2);
var L = s.split(".")[0].split("").reverse();
var r = s.split(".")[1];
var t = "";
for(var i=0; i<L.length; i++){
if((i+1)%3 == 0 && (i + 1) != L.length){
t += L[i] + ",";
}else{
t += L[i] + "";
}
}
return "-" + t.split("").reverse().join("")+"."+r;
}else if(num > 0){
var s = parseFloat(num).toFixed(2);
var L = s.split(".")[0].split("").reverse();
var r = s.split(".")[1];
var t = "";
for(var i=0; i<L.length; i++){
if((i+1)%3 == 0 && (i + 1) != L.length){
t += L[i] + ",";
}else{
t += L[i] + "";
}
}
return t.split("").reverse().join("")+"."+r;
}else{
return parseFloat(0).toFixed(2);
}
}
}