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

Javascript计算没有给出所需的输出,javascript,asp.net,Javascript,Asp.net,我有以下代码: function calculateVat() { var vat = null;var amount=null; vat = document.getElementById("hiddenvat").value; amount = document.getElementById("numtxt_itemCost").value; var total =

我有以下代码:

 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;
    }
这里我根据金额价格计算增值税价格

例如,增值税价值为13.5%

如果我在
numText\u itemCost
字段中输入1780,则输出值应为240.30, 但当我在
numxt\u itemCost
字段中输入值1780来运行这个程序时 它显示了错误输出的231.4,请尝试以下操作:

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%的vat而不是13.5%。

您应该使用
parseFloat

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

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

那么,
parseInt('13.5')
会产生
13
,因为您想要将字符串转换为整数。您可能需要
parseFloat
。不过,我建议使用一元
+
运算符。如果希望
240.30
而不是
240.3