题目描述
数字金额格式化是一道考频非常高的题目,无论是实习还是校招都有可能考到这个题目,所以笔者希望大家都能搞懂这道题目,下面让我们来一起探索这道题目吧。
解题思路
- 首先将传入函数的数字通过toString方法转换为字符串,然后使用split进行分割。
- 定义一个计数器,用于辅助判断什么时候添加逗号。
- 倒序遍历添加数字和逗号。
function toThousands(num) {
// 首先将传入的数字进行分割
num = num.toString().split('');
// 定义最终要返回的结果
const res = [];
let count = 0;
// 遍历每一个字符
for (let i = num.length - 1; i >= 0; i--) {
res.unshift(num[i]);
count++
if (count % 3 === 0 && i !== 0) {
res.unshift(',')
}
}
return res.join('');
}
let test = 236471283572983412;
console.log("二者是否相等:",test.toLocaleString() === toThousands(test));
console.log(test.toLocaleString());
console.log(toThousands(test));
题目反思
这个题目必须要倒着遍历,然后通过计数器辅助来进行添加逗号,是一个很不错的思路,指的我们反复学习揣摩。