我想显示从 1 到 2500 的美元计时器。当计时器增加到 1000 时,我想将其显示为 1,000 美元而不是 1000 美元。我想要数千个地方的逗号。有人可以帮我处理这个 JavaScript。
谢谢。
我想显示从 1 到 2500 的美元计时器。当计时器增加到 1000 时,我想将其显示为 1,000 美元而不是 1000 美元。我想要数千个地方的逗号。有人可以帮我处理这个 JavaScript。
谢谢。
尽管已经写了一千遍了,我还是想写一些 JS。
var addCommas = function(number) {
number = '' + number;
var negative = false;
if (number.match(/^\-/)) {
negative = true;
}
number = number.replace(/[^0-9\.]/g, '');
number = number.split('.');
var before = number.shift()
, after = number.join('');
for (var i = (before.length - 3); i > 0; i -= 3) {
before = before.substr(0, i) + ',' + before.substr(i)
}
return (negative ? '-' : '') + before + (after ? '.' + after : '');
}
// 1,000.00
addCommas(1000.00);
// -1,234,567,890
addCommas('-1234567890');
下面是转换数字格式的方法(逗号分隔)
HTML :-
<input type="text" onkeyup="convertNumberFormat(this.value)" />
JavaScript:-
function convertNumberFormat(inputValue)
{
inputValue = inputValue.toString();
inputValue = inputValue.replace( /\,/g, "");
var x = inputValue.split( '.' );
var intValue = x[0];
var floatValue = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while ( rgx.test(intValue) ) {
intValue = intValue.replace( rgx, '$1' + ',' + '$2' );
}
alert(intValue + floatValue);
}
在 HTML 模板中,我在“onkeyup”事件中调用此函数。每当您想验证输入值并传递当前插入的值时,您只需要调用“convertNumberFormat”函数...
例子:-
convertNumberFormat('$2500');
输出:-
'$2,500' // in alert.
希望这可以帮到你...
您可以使用正则表达式轻松完成此操作。
var friendlyNum = (num + "").replace(/^(\d)(\d{3})$/, "$1,$2");
请注意,这只会处理 1000 个位置。
它是如何工作的对读者来说是一个练习。要了解它们的工作原理,请在此处统计。