如何计算不等数的百分比

时间:2014-12-23 10:51:45

标签: javascript jquery

我需要计算一些不相等数字的百分比。我使用parseFloat来计算百分比,但它仅适用于像2000或200这样的舍入数字,它给出了20%和2%。我没有为2200或220工作达到2.2%或22.2%。

$(document).on('keyup', '.js-baOfferPrice.percentage', function(e) {
    var s, target = $(e.target);
    var p = $('.js-baAppPrice').text();

    s = parseFloat(parseInt(target.val(), 10) * 100) / parseInt(p, 10);

    target.val() === "" ? target.val("") : target.val(Math.round(s).toFixed(0));
});

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:2)

.toFixed(0)更改为.toFixed(1)并删除Math.round()

这一行:

target.val() === "" ? target.val("") : target.val(Math.round(s).toFixed(0));

将成为:

target.val() === "" ? target.val("") : target.val(s.toFixed(1));

参考:toFixed
Stack Overflow参考:Math.round(num) vs num.toFixed(0)

答案 1 :(得分:1)

请勿拨打Math.round(s),因为这会删除该号码的小数部分。只需使用toFixed,并指定那里的小数位数。它会围绕这个数字。

if (target.val() !== "") {
    s = parseFloat(parseInt(target.val(), 10) * 100) / parseInt(p, 10);
    target.val(s.toFixed(1));
}