1556、千位分隔数
题目描述:
给你一个整数 n,请你每隔三位添加点(即 "." 符号)作为千位分隔符,并将结果以字符串格式返回。
示例:
js
输入:n = 987
输出:"987"
输入:n = 1234
输出:"1.234"
输入:n = 123456789
输出:"123.456.789"
输入:n = 0
输出:"0"解法一思路
- 1、先利用
API—Number.prototype.toLocaleString()把数字转成用,分隔的千分位字符串。 - 2、再用正则替换一下就
OK了。
代码
javascript
/**
* @param {string} s
* @return {number}
*/
var thousandSeparator = function (n) {
return n.toLocaleString().replace(/\,/g, '.');
};解法二思路
- 1、先转为字符串。
- 2、每次截三个字符,算出需要截多少次向下取整。
- 3、
while循环将结果放数组中。 - 4、最后把数组进行
join('.')操作得到结果。
代码
javascript
/**
* @param {string} s
* @return {number}
*/
var thousandSeparator = function (n) {
let nub_str = n.toString();
let time = Math.floor(nub_str.length / 3);
const resArr = [];
while (time >= 0) {
let temp = nub_str.slice(-3);
if (temp) resArr.unshift(temp);
nub_str = nub_str.slice(0, nub_str.length - 3);
time--;
}
return resArr.join('.');
};
russ