我目前需要将数字四舍五入到最接近的主数。 (不确定这里用的是正确的术语)
但是,请参阅我要实现的目标的示例
IE:
13 // 20
349 // 400
5645 // 6000
9892 // 10000
13988 // 20000
93456 // 100000
231516 // 300000
etc. etc.
我已经实现了一种方法,但是它是如此的痛苦,只能处理高达一百万的数字,如果我希望它更高,我需要添加更多的if语句(是的,我是如何实现它的:P我不是很自豪,但是大脑卡住了)
肯定已经有东西了,但是Google帮不上我大忙,可能是因为我不知道我想做的四舍五入的正确术语
最佳答案
<script type="text/javascript">
function intelliRound(num) {
var len=(num+'').length;
var fac=Math.pow(10,len-1);
return Math.ceil(num/fac)*fac;
}
alert(intelliRound(13));
alert(intelliRound(349));
alert(intelliRound(5645));
// ...
</script>
参见http://jsfiddle.net/fCLjp/