我正在使用此代码:
$("#total_percentage").text(
(parseInt($("#capacity").text(), 10) / parseInt($("#total").text(), 10))
);
我的问题是#total_percentage有时会产生很长的结果。
例如:2.33333333333
有没有办法设置它以使其向上舍入/仅显示最多2位数?
例如:2或10
答案 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: