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