提问者:小点点

如何在JS中将数字格式更改为小数


我有这个计数器,我需要它是小数(不是150000000,我想要150000000,00或至少150000000)。 我试着换了这个:

步骤:函数(){

        $this.text(Math.floor(this.countNum));
      }

用这个:

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

。。。但没起作用。 我能做什么?

下面是我对此感兴趣的js和html的部分:

null

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>

null


共1个答案

匿名用户

toFixed是一个很好的方法,但是它只会照顾末尾的小数。 为了完成您所描述的内容,您可能需要使用number.ToLocaleString()。 因此您的格式化程序看起来像:

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

您可以在下面的MDN文档中查看toLocaleString选项:

https://developer.mozilla.org/en-us/docs/web/javascript/reference/global_objects/number/tolocaleString

希望有帮助!