我试图找出解决四舍五入的最佳方法。
基本上我有这个数字:var weekMilliseconds = 604800000(一周中的毫秒数)
我有另一个函数可以输出一个随机数。
我想做的是基于随机数,我想输出下一个周毫秒的倍数。
例如:
如果随机 # 为 1:向上舍入 604800000
如果随机数为 604800001,则向上取整为 1209600000 (604800000 * 2)
等等.....
实现这一目标的最佳方法是什么。
我试图找出解决四舍五入的最佳方法。
基本上我有这个数字:var weekMilliseconds = 604800000(一周中的毫秒数)
我有另一个函数可以输出一个随机数。
我想做的是基于随机数,我想输出下一个周毫秒的倍数。
例如:
如果随机 # 为 1:向上舍入 604800000
如果随机数为 604800001,则向上取整为 1209600000 (604800000 * 2)
等等.....
实现这一目标的最佳方法是什么。
使用Math.ceil()(它给你下一个整数):
Math.ceil(randomNumber / weekMilliseconds) * weekMilliseconds
你真的可以通过几种方式做到这一点。我建议使用javascript的Math.ceil()功能。这个想法是,如果你想四舍五入到最接近的数字y,则将输入x除以y。然后将其四舍五入到最接近的整数,并将其乘以要四舍五入的数字。因此,如果您有 11 并且想将其四舍五入为 12,11/12则除以 ,将其~.917四舍五入1,然后乘以1*12= 12。所以:roundTo * ceil(random/roundTo)
weekMilliseconds * Math.ceil(number / weekMilliseconds);
采取以下措施:
49 * ceil(228/49) = 2458 * ceil(32/8) = 32100 * ceil(64/100) = 100