0

次のコードがあります。

 function calculateVat() {
        var vat = null;var amount=null;
        vat = document.getElementById("hiddenvat").value;           
        amount = document.getElementById("numtxt_itemCost").value;
        var total = parseInt(amount)* parseInt(vat) / 100 ;
        
        document.getElementById("txt_Total_text").value = total;
    }

ここでは、金額に応じて VAT 価格を計算しています

EG VAT 値は 13.5 です

フィールドに1780 を入力するnumtxt_itemCostと、出力は 240.30 になるはずですが、フィールドに値 1780 を入力してこのプログラムを実行するnumtxt_itemCostと、間違った出力である 231.4 が表示されます。

4

2 に答える 2

1

parseFloat代わりに次を使用する必要があります。

parseFloat(1780)* parseFloat(13.5) / 100 //240.3

を使用するparseIntと、すべての小数が取り除かれます。

于 2013-08-07T11:57:32.390 に答える
1

これを試して:

function calculateVat() {
        var vat = null;var amount=null;
        vat = document.getElementById("hiddenvat").value;           
        amount = document.getElementById("numtxt_itemCost").value;
        var total = parseInt(amount)* parseFloat(vat) / 100 ;

        document.getElementById("txt_Total_text").value = total;
    }

問題は、 を使用してバットを「int」に変換していたことですparseInt(vat)。そのため、表示されていた答えは、13.5% ではなく 13% のバットの結果でした。

于 2013-08-07T11:56:01.677 に答える