当前位置:
首页 >
数字千位分割
发布时间:2023/12/31
46
豆豆
toLocaleString() 方法返回这个数字在特定语言环境下的表示字符串
var a=1234567894532; var b=673439.4542;console.log(a.toLocaleString()); // "1,234,567,894,532" console.log(b.toLocaleString()); // "673,439.454" (小数部分四舍五入了)实现思路是将数字转换为字符数组,再循环整个数组, 每三位添加一个分隔逗号,最后再合并成字符串。因为分隔符在顺序上是从后往前添加的:比如 1234567添加后是1,234,567 而不是 123,456,7 ,所以方便起见可以先把数组倒序,添加完之后再倒序回来,就是正常的顺序了。要注意的是如果数字带小数的话,要把小数部分分开处理。
function numFormat(num){num=num.toString().split("."); // 分隔小数点var arr=num[0].split("").reverse(); // 转换成字符数组并且倒序排列var res=[];for(var i=0,len=arr.length;i<len;i++){if(i%3===0&&i!==0){res.push(","); // 添加分隔符}res.push(arr[i]);}res.reverse(); // 再次倒序成为正确的顺序if(num[1]){ // 如果有小数的话添加小数部分res=res.join("").concat("."+num[1]);}else{res=res.join("");}return res; }var a=1234567894532; var b=673439.4542; console.log(numFormat(a)); // "1,234,567,894,532" console.log(numFormat(b)); // "673,439.4542"总结
- 上一篇: 好听又冰冷女生名字四字139个
- 下一篇: 判断true的正确做法