如何在操作中包含小数位

时间:2014-11-28 03:27:54

标签: javascript decimal

我在这里有关于我的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");
    });
});

3 个答案:

答案 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。