2016-04-11 11 views
0

小数点以下の値を2桁まで取得する方法についてはいくつかの例を読んでいますが、私が試したことは何も小計を計算するために使用している現在の関数では機能していないようです。私はこれを正しく動作させる方法についていくつかアドバイスをしています。 (たとえば、私は現在、1848.0198768のような値を取得していますが、1848.02である必要があります)。ここでparseFloatと10進文字列での不具合

私calculateSubTotalコードは次のとおりです。

function calculateSubtotal() 
    { 
    var sum = 0; 
    $(".clamount").each(function(i,e) 
    { 
    var v = parseFloat($(e).val()); 
    if(isNaN(v)) 
    { 
     v = 0; 
    } 
    if($(e).attr("data-column")=="pbDebit") v = -v; 
    sum += v; 
    }); 
    $("#subtotal").text(sum); 
    $("#bTotalBookingAmount").val(sum); 

I have tried the following to no avail: 
// var subtotalNew = parseFloat($('#subtotal').text(sum).toFixed(2)); 
// $("#subtotal").text(subtotalNew); 
// $("#bTotalBookingAmount").val(subtotalNew); 
} 

任意の指導をいただければ幸いです。私はコードがNaN値のために働いていないと仮定しています(これは、if(isNaN(v))セクションで説明していますが、これは常に数字であり、文字は決してないので少し混乱しています)

+1

['number.toFixed (2) '](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed)を参照してください。 Btwでは、PHPタグはJavascriptタグである必要があります。 – Kenney

+0

私はフラグを調整して、number.toFixed(2)を調べていただきありがとうございました。多くのお礼 – bones

答えて

1

使用toFixed(2) 2進値に値を削減し、それラウンドする。

+0

次のコードを調整していただきありがとうございますArjun、Kenny's recc) – bones

0

は、私はいけない。あなたの提案リンクを介して読んだ後、私は今、正常に動作し、コードを持っている...あなたはケニーをありがとう、私はにできると思いますしかし、その情報は完全に機能しています。

function calculateSubtotal() 
{ 
    var sum = 0; 
    $(".clamount").each(function(i,e) 
    { 
    var v = parseFloat($(e).val()); 
    if(isNaN(v)) 
    { 
    v = 0; 
    } 
    if($(e).attr("data-column")=="pbDebit") v = -v; 
    sum += v; 
}); 
    sum = sum.toFixed(2); 
関連する問題