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;
    }

这里我是根据金额价格计算增值税价格

EG增值税值为13.5

如果我在numtxt_itemCost字段上输入 1780,那么它应该给出输出 240.30,但是当我通过在numtxt_itemCost字段上输入值 1780 来运行这个程序时,它会显示 231.4,这是错误的输出,

4

2 回答 2

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% 增值税而不是 13.5% 的结果。

于 2013-08-07T11:56:01.677 回答
1

您应该parseFloat改用:

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

当你使用 时parseInt,所有小数都会被去掉。

于 2013-08-07T11:57:32.390 回答