Javascript 如何计算不相等数量的百分比

Javascript 如何计算不相等数量的百分比,javascript,jquery,Javascript,Jquery,我需要计算一些不相等数字的百分比。我使用的是parseFloat计算百分比,但它只适用于2000或200等四舍五入的数字,即20%和2%。我不是为了达到2.2%或22.2%而工作2200年或220年 $(document).on('keyup', '.js-baOfferPrice.percentage', function(e) { var s, target = $(e.target); var p = $('.js-baAppPrice').text(); s =

我需要计算一些不相等数字的百分比。我使用的是
parseFloat
计算百分比,但它只适用于2000或200等四舍五入的数字,即20%和2%。我不是为了达到2.2%或22.2%而工作2200年或220年

$(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));
});
有人能帮忙吗?

.toFixed(0)
更改为
.toFixed(1)
并删除
数学圆()

这一行:

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

target.val() === "" ? target.val("") : target.val(s.toFixed(1));
参考资料:

堆栈溢出引用:

不要调用
Math.round
,因为这会删除数字的小数部分。只需使用
toFixed
,并指定小数位数即可。它将使那个数字四舍五入

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

百分比是多少?您可以发布您的HTMLDo吗?您不需要将.toFixed(0)更改为.toFixed(1)?您可以发布JSFIDLE吗?我不太理解您描述的问题。不要调用
round()
。这将删除分数。最后一个是免费使用
?:
运算符,请考虑:
如果(target.val()!=“”){…}
。我没有更改任何内容,在此之后,当我尝试键入2200作为数字时,我仍然使用0.0。对不起,我的错误,您还需要删除Math.round()。这是删除小数点。