我在这里有关于我的javascript的问题。 这个javascript运行良好,但问题是它的运行不包括用户输入的小数位的操作。 例如,用户输入13.2-10。答案应该是3.2礼。但输出结果是3。 它不计算小数位。所以,如果有人可以提供帮助,那真的很值得欣赏。这是我的javascript:
$(window).load(function(){
function calcSubMTotal(p) {
var minus = 0;
var isFirst=true;
var minus_total = $('#' + p + '');
$('.' + p + '').each(function (i) {
if (!isNaN(this.value) && this.value.length !== 0) {
if(!isFirst)
minus -= parseInt(this.value);
else
{
minus=parseInt(this.value);
isFirst=false;
}
}
});
minus_total.val(minus);
}
$('input[type=text]').on('keyup', function () {
calcSubMTotal("rr");
});
});
答案 0 :(得分:1)
您正在使用parseInt
,它将返回整数。请改用parseFloat
。
请注意,这会导致一些(可能)意外结果,因为在JavaScript中:
13.2 - 10 == 3.1999999999999993
这实际上是正确的,因此当您显示它时,您可能想要执行以下操作:
minus_total.val(minus.toFixed(2));
自:
(13.2 - 10).toFixed(2) == "3.20"
答案 1 :(得分:1)
整数没有小数位,请尝试使用parseFloat()而不是parseInt()
答案 2 :(得分:0)
您应该使用parseFloat而不是parseInt。