我正试图找出解决数字四舍五入的最佳方法。
基本上我有这个号码:var weekMilliseconds = 604800000(一周内的毫秒数)
我有另一个函数吐出一个随机数。
我想做的是基于随机数,我想输出下一个周数的几个。
例如:
如果随机#为1:向上舍入为604800000
如果随机#为604800001,则为1209600000(604800000 * 2)
依旧.....
实现这一目标的最佳方法是什么。
答案 0 :(得分:4)
使用Math.ceil()
(它会为您提供下一个整数):
Math.ceil(randomNumber / weekMilliseconds) * weekMilliseconds
答案 1 :(得分:2)
你可以通过几种方式真正做到这一点。我建议使用javascript的Math.ceil()
函数。我们的想法是,如果您想要舍入到最接近的数字y
,请输入x
并将其除以y
。然后将其四舍五入到最接近的完整数字,并将其乘以要舍入的数字。所以,如果你有11并希望将其舍入为12,则将11/12
除以~.917
,将其向上舍入,1
,然后乘以1*12
= 12.所以:{ {1}}
roundTo * ceil(random/roundTo)
采取以下措施:
weekMilliseconds * Math.ceil(number / weekMilliseconds);
49 * ceil(228/49) = 245
8 * ceil(32/8) = 32