慕前端8664132
2016-11-09 00:02:42
請編寫 formatNum函數(shù),將數(shù)字轉(zhuǎn)為千分位格式 ,每三位數(shù)加入逗號;var a=1234567;var b=formatNum(a);//b="1,234,567"
2 回答
千秋此意
TA貢獻158條經(jīng)驗 獲得超188個贊
function?formatNum(iNum)?{
????var?count?=?0,?temp?=?iNum.toString().split('');
????for?(var?i?=?temp.length?-?1;?i?>?0;?i--)?{
????????(++count?%?3?===?0)?&&?temp.splice(i,?0,?',');
????}
????return?temp.join('');
}
var?result?=?formatNum(123233233233);
console.log(result);?//?123,233,233,233點擊展開后面1條
stone310
TA貢獻361條經(jīng)驗 獲得超191個贊
function?num(a)?{
????????var?b?=?String(a).split("");
????????var?c?=?"";
????????var?num?=Math.ceil(b.length/3-1);
????????for?(var?i?=?1;?i?<=?num;?i++)?{
????????????b.splice(-i?*?4?+?1,?0,?",")
????????}
????????for?(var?i?=?0;?i?<?b.length;?i++)?{
????????????c?+=?b[i]
????????}
????????console.log(c)
????}
????num(1234567)
xuchaoi
TA貢獻4條經(jīng)驗 獲得超5個贊
????????<!DOCTYPE?html>
????????<html>
????????<head>
????<meta?charset="utf-8">
????<title>demo</title>
????????</head>
????????<body>
????????????<h1>思路:輸入一個數(shù)后,轉(zhuǎn)成字符串再把這個字符串顛倒。接著每隔3個給一個逗號。最后把得到的字符串再顛倒過來。</h1>
????????????<script>
function?formatNum(num)?{
var?strnum?=?num.toString();
var?downNumber?=?strnum.split("").reverse().join("");
var?number?=?"";
for(var?i=0;i<strnum.length;i++){
if(i?===?(strnum.length-1)) { ?
number?+=?(i+1)%3?===?0???downNumber.substr(i-i%3,3)?:?downNumber.substr(i-i%3,(i+1)%3);
}else{
if((i+1)%3?===?0)?{
number?+=?downNumber.substr(i-2,3)?+?",";
}
}
}
number?=?number.split("").reverse().join("");
return?number;
}
var?num?=?12394723942;?//隨便輸入一個數(shù)
var?result?=?formatNum(num);
console.log("原值:"?+?num);
console.log("格式后的值:"?+?result);
????</script>
</body>
</html>添加回答
舉報
0/150
提交
取消
