function thousand(text){ //将传过来的数据转换成字符串 var str=text.toString(); //判断是否存在$或者¥符号 后缀是否是'0.00' var prefix=//¥/g.test(str)?'¥':(//$/g.test(str)?'$':''); var postfix=//¥|/$/g.test(str)?'.00':''; //消除'.' 因为有些值比如 $10.00 if(str.indexOf(".")!=-1){ var result=//./g.exec(str); var result2=str.substr(0,result['index']);//获取小数点前的所有值 }else{ var result2=str; } //将非数字剔除 var num=result2.replace(/[/D*]/g,''); //将字符串换成数组 下面可以使用splice函数 var arr=num.split(''); //获取有多少个分割点 var dot_num=Math.ceil(arr.length/3)-1; if(dot_num<0){//如果数字的值大小根本达不到上千 就直接返回 return str; } for(var i=1,j=0;i<=dot_num;i++,j++){ //给数组添加上分割点',' arr.splice((arr.length-3*i-j),0,','); } //返回数字 如果传过来的数字有¥或者有$或者有‘.00’就返回相应的数值 return prefix+arr.join('')+postfix; }
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/8839.html