ユーザーがクリックしたときに合計を計算するjsファイルがあります。これはクリックされたすべての行を合計しますが、数値に10進数が含まれていれば正しく追加されず、行は、次のjQueryは小数点以下を正しく加算しない
12.00
13.00
が含まれている場合
function calculateRevenue(){
var sum = 0;
$("input#check_count_revenue[type=checkbox]:checked").each(function() {
sum += parseInt($(this).attr("data-revenuecount"));
});
$("#revenue_count_totals").html(sum.toFixed(2)).digits();
};
は、この
table.on("change","input#check_count_revenue", function() {
$(this).closest("td").addClass("checked_revenue");
calculateRevenue();
if ($(this).prop("checked") === false)
$(this).closest("td").removeClass("checked_revenue");
});
のような関数を呼び出します正しく25.00
しかし
12.00
13.01
を合計う
はまだ代わり25.01
すべてのアイデアは、25.00を得ましたか。私はすでにparseIntの代わりにparseFloatを試して解決しません。
まあ、明らかに 'のparseInt()ので'、仕事に行くのではありませんを使用することができます小数点以下の桁数を捨てる* * ...これを修正したら、浮動小数点数について一般的に読むことができます(http://stackoverflow.com/questions/588004/is-floating- point-math-broken)と[in JS](http://stackoverflow.com/questions/10473994/javascript-adding-decimal-numbers-issue?noredirect=1&lq=1)を参照してください。 – nnnnnn
私の質問@PHPglueを編集しました –
そこに使用している 'digits()'関数は何ですか? – Dekel