1

我想显示从 1 到 2500 的美元计时器。当计时器增加到 1000 时,我想将其显示为 1,000 美元而不是 1000 美元。我想要数千个地方的逗号。有人可以帮我处理这个 JavaScript。

谢谢。

4

3 回答 3

0

尽管已经写了一千遍了,我还是想写一些 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');
于 2013-09-04T09:57:57.437 回答
0

下面是转换数字格式的方法(逗号分隔)

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.

希望这可以帮到你...

于 2013-09-04T10:43:08.673 回答
0

您可以使用正则表达式轻松完成此操作。

var friendlyNum = (num + "").replace(/^(\d)(\d{3})$/, "$1,$2");

请注意,这只会处理 1000 个位置。

它是如何工作的对读者来说是一个练习。要了解它们的工作原理,请在此处统计。

于 2013-09-04T09:43:28.380 回答