得到错误的结果函数jquery javascript

时间:2014-01-04 18:56:26

标签: javascript jquery

我使用以下脚本。但是我收到x_b_bbetrag的错误结果。

当计算exp 100/108时,我得到9.92而不是92.59。 我在这里错过了什么?

以下代码:

var betrag = 100
var kurs = 1
var minkl= 1
var msatz= 0.08    
$("#x_b_betrag").change(function() {
var betrag = $("#x_b_betrag").val();
var kurs = $("#x_b_kurs").val();
var minkl =$("input[name='x_b_mwstinkl']:checked").val();
var  msatz =$("input[name='x_b_mwst']:checked").val();
if (minkl == "1"){
$("#x_b_rechenbetrag").val((betrag * kurs).toFixed(2)); 
$("#x_b_bbetrag").val( ( (betrag * kurs) /(1 + msatz) ).toFixed(2));
}

3 个答案:

答案 0 :(得分:1)

将您的输入解析为数字。

例如:

var betrag = parseFloat($("#x_b_betrag").val());

MDN on parseFloat

答案 1 :(得分:0)

使用parseFloat 乘法,除法和减法自动将字符串解析为数字。总结你需要解析它。

$("#x_b_bbetrag").val( ( (betrag * kurs) /(1 + parseFloat(msatz) ) ).toFixed(2));

/// 1 +“1”= 11不是2

答案 2 :(得分:0)

msatz变量的值不是0.08,而是"0.08"。它是一个字符串,因此当您向其添加一个字符串时,该数字将转换为字符串,以便它们可以连接,结果为"10.08"而不是1.08。当你在分区中使用它时,字符串将被隐式转换为数字,因为它不可能用字符串除。

将字符串解析为数字:

var msatz = parseFloat($("input[name='x_b_mwst']:checked").val());