我使用以下脚本。但是我收到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));
}
答案 0 :(得分:1)
答案 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());