JQuery向上舍入结果的长度

时间:2012-08-15 18:44:54

标签: javascript jquery

我正在使用此代码:

$("#total_percentage").text(
    (parseInt($("#capacity").text(), 10) / parseInt($("#total").text(), 10))
);

我的问题是#total_percentage有时会产生很长的结果。

例如:2.33333333333

有没有办法设置它以使其向上舍入/仅显示最多2位数?

例如:2或10

3 个答案:

答案 0 :(得分:1)

您可以使用toFixed()

$("#total_percentage").text(
    (parseInt($("#capacity").text(), 10) / parseInt($("#total").text(), 10)).toFixed(2)
);

参考文献:

答案 1 :(得分:1)

要整理使用Javascript Math库。

$("#total_percentage").text(
    (Math.ceil(parseInt($("#capacity").text(), 10) / parseInt($("#total").text(), 10)))
);

答案 2 :(得分:1)

如果您想在小数点右侧显示两个数字 Math.toFixed就是解决方案:

(2.33333333).toFixed(2) === "2.33"

请注意,这会产生字符串,而不是数字。如果您想显示2位总计Math.toPrecision就是您想要的:

(2.33333333).toPrecision(2) === "2.3"

同样,这会产生一个字符串。要返回某个数字(如果需要),您可以使用parseFloat

最后请注意,这两个功能也将围绕您的号码。例如:

(1.23456).toPrecision(4) === "1.235"

如果要在不进行舍入的情况下截断数字,可以编写如下函数:

function truncate(num,precision) {
    var muldiv = Math.pow(10,precision-1);
    return Math.floor(num * muldiv) / muldiv;
}

truncate(1.23456,4) === 1.234

这是一个演示每种方法的jsFiddle:

---jsFiddle DEMO---