2017-01-09 12 views
2

現在jqueryでdivを設定していますが、出力を桁区切りと小数点以下2桁でフォーマットする必要があります。 FYI私が現在使用してdiv要素を移入していフォーマット番号と千単位の区切り文字と小数点以下2桁

var prev_count = 120; 
var new_count = 20.50; 

    var count_till = prev_count < new_count ? new_count : new_count - 1; 
    jQuery({ Counter: prev_count }).animate({ Counter: count_till }, { 
     duration: 600, 
     easing: 'swing', 
     step: function() { 
      jQuery("#count_div").text(Math.ceil(this.Counter)); 
     } 
    }); 

変数を起動するには、120であり、これは、それが20で終了しかしない20.50、20.50にダウンカウントするように意図され、これはので、どのようならば可能です私はそれについて行く?ここで

[OK]を私のjsfiddle

+0

ロリーMcCrossanを、これをお金とは何の関係もない! – user1419810

+0

は現在の入力と出力を追加しました – user1419810

+0

あなたはどんなプラグインを使用していますか? – Justinas

答えて

1

Math.Ceilは、所定数以上の最小の整数を返します。 (あなたが探しているものである)Integers do not have fractions

あなたはこれまで、あなたの出力数あなたのライン交換する必要があります

:ここ

jQuery("#count_div").html(this.Counter.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1,')); 

が働いJSFiddleです:https://jsfiddle.net/12g2pj4L/2/

+0

しかし、私は常に2小数点までの答えを求めていますが、20.5がターゲットとして使用された場合、これは1小数点にしか達しませんか? – user1419810

+0

@ user1419810更新された回答をご覧ください:) – zerohero

0

あるので、私は自分自身を以下のように、(2)小数点以下を設定するコードを千単位の区切りで追加する機能を使用してもtoFixedこの問題を解決するために管理:

$.fn.digits = function(){ 
    return this.each(function(){ 
     $(this).text($(this).text().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,")); 
    }) 
} 

var prev_count = "1125"; 
prev_count = prev_count.split(',').join(''); 
prev_count = parseInt(prev_count); 

var new_count = 1320.50; 

var count_till = prev_count < new_count ? new_count : new_count; 
jQuery({ Counter: prev_count }).animate({ Counter: count_till }, { 
    duration: 7000, 
    easing: 'swing', 
    step: function() { 
    jQuery("#count_div").html(this.Counter.toFixed(2)).digits(); 

    } 
}); 

とフィドルhere

関連する問題