javascript计算没有给出所需的输出

时间:2013-08-07 11:52:56

标签: javascript asp.net javascript-events

我有以下代码

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

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

E.G 还原值为13.5

如果我在numtxt_itemCost字段输入1780,那么它应该给出输出240.30

但是当我通过在numtxt_itemCost字段上放置值1780来运行此程序时

它显示231.4输出错误

2 个答案:

答案 0 :(得分: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;
    }

问题是你使用parseInt(vat)将vat转换为“int”,所以你看到的答案是13%增值而不是13.5%的结果。

答案 1 :(得分:1)

您应该使用parseFloat代替:

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

当您使用parseInt时,所有小数都会被删除。