慕前端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
提交
取消