gpt4 book ai didi

javascript - add_commas 函数不适用于 10000 但 1000

转载 作者:行者123 更新时间:2023-11-30 11:50:36 26 4
gpt4 key购买 nike

有人知道为什么现在我已经达到 10,000 但在 1,000 时我的逗号没有添加吗?

function add_commas(number) {
if (number.length > 3) {
var mod = number.length % 3;
var output = (mod > 0 ? (number.substring(0,mod)) : '');
for (i=0 ; i < Math.floor(number.length / 3); i++) {
if ((mod == 0) && (i == 0)) {
output += number.substring(mod+ 3 * i, mod + 3 * i + 3);
} else {
output+= ',' + number.substring(mod + 3 * i, mod + 3 * i + 3);
}
}
return (output);
} else {
return number;
}
}

我仍然将它用于 1,000 的某些值,因此需要它仍然可以使用它,但对于更高的值几乎没有什么损失?

最佳答案

function number_format(number, decimals, decPoint, thousandsSep) {
number = (number + '').replace(/[^0-9+\-Ee.]/g, '')
var n = !isFinite(+number) ? 0 : +number
var prec = !isFinite(+decimals) ? 0 : Math.abs(decimals)
var sep = (typeof thousandsSep === 'undefined') ? ',' : thousandsSep
var dec = (typeof decPoint === 'undefined') ? '.' : decPoint
var s = ''

var toFixedFix = function (n, prec) {
var k = Math.pow(10, prec)
return '' + (Math.round(n * k) / k)
.toFixed(prec)
}

// @todo: for IE parseFloat(0.55).toFixed(0) = 0;
s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.')
if (s[0].length > 3) {
s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep)
}
if ((s[1] || '').length < prec) {
s[1] = s[1] || ''
s[1] += new Array(prec - s[1].length + 1).join('0')
}

return s.join(dec)
}

number_format(100) => 100
number_format(1000) => 1,000
number_format(10000) => 10,000

Google 可以成为您的 friend :) original

关于javascript - add_commas 函数不适用于 10000 但 1000,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39601496/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com