在javascript中拼接一个数字
Splicing a number in javascript
我正在尝试写 1k 10k 和 100k 并且我正在尝试找到一种形式的 .splice 但是对于数字我可以将 1000、10000 和 100000 转换为 k,同时对它们中的每一个使用相同的公式.
只需除以 1000。
[1000, 10000, 100000].forEach(x => console.log(x / 1000 + 'k'));
需要时显示一位小数:
[1320, 14302, 193234].forEach(x => console.log(+(x / 1000).toFixed(1) + 'k'))
function kFormatter(num) {
return Math.abs(num) >= 1000 ? Math.sign(num) * ((Math.abs(num) / 1000).toFixed(1)) + 'k' : Math.sign(num) * Math.abs(num)
}
console.log(kFormatter(1200)); // 1.2k
console.log(kFormatter(-1200)); // -1.2k
console.log(kFormatter(999.9)); // 999.9
console.log(kFormatter(-900)); // -900
可以用substring()
得到从头到字符串长度减3的所有字符,然后拼接句点和倒数第二个字符:
function format(s) {
s = String(s)
return s.substring(0, s.length - 3) + "." + s.substring(s.length - 3, s.length - 2) + 'k';
}
console.log(format(1000))
console.log(format(1100))
console.log(format(10000))
console.log(format(11000))
如果数字小于 1000,我们可以执行长度检查,如果字符串的长度小于 4,则将 0
添加到结果中:
function format(s) {
s = String(s)
return (s.length < 4 ? '0' : s.substring(0, s.length - 3)) + "." + s.substring(s.length - 3, s.length - 2) + 'k';
}
console.log(format(100))
console.log(format(1000))
console.log(format(1100))
console.log(format(10000))
console.log(format(11000))
我正在尝试写 1k 10k 和 100k 并且我正在尝试找到一种形式的 .splice 但是对于数字我可以将 1000、10000 和 100000 转换为 k,同时对它们中的每一个使用相同的公式.
只需除以 1000。
[1000, 10000, 100000].forEach(x => console.log(x / 1000 + 'k'));
需要时显示一位小数:
[1320, 14302, 193234].forEach(x => console.log(+(x / 1000).toFixed(1) + 'k'))
function kFormatter(num) {
return Math.abs(num) >= 1000 ? Math.sign(num) * ((Math.abs(num) / 1000).toFixed(1)) + 'k' : Math.sign(num) * Math.abs(num)
}
console.log(kFormatter(1200)); // 1.2k
console.log(kFormatter(-1200)); // -1.2k
console.log(kFormatter(999.9)); // 999.9
console.log(kFormatter(-900)); // -900
可以用substring()
得到从头到字符串长度减3的所有字符,然后拼接句点和倒数第二个字符:
function format(s) {
s = String(s)
return s.substring(0, s.length - 3) + "." + s.substring(s.length - 3, s.length - 2) + 'k';
}
console.log(format(1000))
console.log(format(1100))
console.log(format(10000))
console.log(format(11000))
如果数字小于 1000,我们可以执行长度检查,如果字符串的长度小于 4,则将 0
添加到结果中:
function format(s) {
s = String(s)
return (s.length < 4 ? '0' : s.substring(0, s.length - 3)) + "." + s.substring(s.length - 3, s.length - 2) + 'k';
}
console.log(format(100))
console.log(format(1000))
console.log(format(1100))
console.log(format(10000))
console.log(format(11000))