2013-09-04 2 views
1

Я хочу показать таймер доллара, который идет от 1 до 2500. Когда таймер увеличивается до 1000, я хочу отобразить его как 1000 долларов вместо 1000 долларов. Я хочу, чтобы запятые находились в тысячах мест. Может кто-то помочь мне с этим JavaScript.javascript таймер с запятой

Спасибо.

+1

http://code.google.com/p/javascript-number-formatter/ – rps

ответ

0

Вы можете легко сделать это с помощью регулярного выражения.

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

Обратите внимание, что это будет обрабатывать только 1000 мест.

Как это работает, это упражнение для читателя. Чтобы узнать, как они работают, stat here.

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'); 
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. 

надеюсь, это может вам помочь ...

Смежные вопросы