Как изменить формат чисел на десятичные в JS - PullRequest
0 голосов
/ 11 июля 2020

У меня есть этот счетчик, и мне нужно, чтобы он был десятичным (вместо 150000000 я бы хотел иметь 150.000.000,00 или как минимум 150.000.000).

Я попытался заменить это:

step: function() {
    $this.text(Math.floor(this.countNum));
}

с этим:

formatter: function (value, options) {
    return value.toFixed(options.decimals);
}

, но это не сработало. Что я могу сделать?

Вот части моих js и html, которые интересуют:

var a = 0;

$(window).scroll(function() {

  var oTop = $('#counter').offset().top - window.outerHeight/2;
  if (a == 0 && $(window).scrollTop() > oTop) {
      euro.className = "testo one column hide"
    $('.counter-value').each(function() {
        
      var $this = $(this),
          
        countTo = $this.attr('data-count');
        
        
      $({
           
        countNum: $this.text()
          
      }).animate({
          countNum: countTo
        },
                 

        {
          
          duration: 2000,
          easing: 'swing',
          step: function() {

            $this.text(Math.floor(this.countNum));
          },
          complete: function() {
            $this.text(this.countNum);
            //alert('finished');
          }

        });
    });
    a = 1;
  } else {
    euro.className = "testo one column show"
  }

});
<div id="counter" class="two columns counter-value" data-count="150000000">
            
        </div>

1 Ответ

0 голосов
/ 11 июля 2020

toFixed - хороший метод, но он позаботится только о десятичных дробях в конце. Чтобы выполнить sh то, что вы описываете, вы можете использовать number.toLocaleString (). Итак, ваш форматировщик будет выглядеть так:

formatter: function(value, options) {
     return value.toLocaleString(options);
}

Вы можете проверить параметры toLocaleString в документах MDN ниже:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...