我使用这个代码:JQuery的长度舍结果
$("#total_percentage").text(
(parseInt($("#capacity").text(), 10)/parseInt($("#total").text(), 10))
);
我的问题是#total_percentage有时会很长的结果。
e.g:2.33333333333
有没有一种方法来设置它,所以它向上舍/显示的2个位数只有最大?
例如:2或10
我使用这个代码:JQuery的长度舍结果
$("#total_percentage").text(
(parseInt($("#capacity").text(), 10)/parseInt($("#total").text(), 10))
);
我的问题是#total_percentage有时会很长的结果。
e.g:2.33333333333
有没有一种方法来设置它,所以它向上舍/显示的2个位数只有最大?
例如:2或10
收集使用Javascript数学库。
$("#total_percentage").text(
(Math.ceil(parseInt($("#capacity").text(), 10)/parseInt($("#total").text(), 10)))
);
Math.ceil总是舍入(2.33333会显示3,而不是2)。只要确保没问题... http://www.w3schools.com/jsref/jsref_ceil.asp – 2012-08-15 19:14:42
您可以使用toFixed()
:
$("#total_percentage").text(
(parseInt($("#capacity").text(), 10)/parseInt($("#total").text(), 10)).toFixed(2)
);
参考文献:
如果你想显示两位数字小数点权,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展示每个方法:
这是一个小问题的矫枉过正,但我强烈建议sugarjs:http://sugarjs.com/ – 2012-08-15 18:49:14
你问有关显示两位数字后小数?在你的例子中:'2.33' – 2012-08-15 18:51:13