Javascript 基于一周内毫秒数的舍入算法
我想找出解决四舍五入问题的最佳方法 基本上我有这个数字:var weekmillesons=604800000(一周的毫秒数) 我有另一个函数,它可以输出一个随机数 我想做的是基于随机数,我想输出下一个星期百万秒的倍数 例如: 如果random#为1:四舍五入至604800000 如果随机数为604800001,则四舍五入至1209600000(604800000*2) 等等Javascript 基于一周内毫秒数的舍入算法,javascript,algorithm,flot,Javascript,Algorithm,Flot,我想找出解决四舍五入问题的最佳方法 基本上我有这个数字:var weekmillesons=604800000(一周的毫秒数) 我有另一个函数,它可以输出一个随机数 我想做的是基于随机数,我想输出下一个星期百万秒的倍数 例如: 如果random#为1:四舍五入至604800000 如果随机数为604800001,则四舍五入至1209600000(604800000*2) 等等 实现这一目标的最佳方式是什么 有几种方法可以做到这一点。我建议使用javascript的函数。其思想是,如果您想四舍五入
实现这一目标的最佳方式是什么 有几种方法可以做到这一点。我建议使用javascript的函数。其思想是,如果您想四舍五入到最接近的数字
y
,则将输入的x
除以y
。然后将其四舍五入到最接近的整数,再乘以要四舍五入的数字。所以如果你有11,想把它四舍五入到12,除以11/12
,也就是~.917
,四舍五入,1
,然后乘以1*12
=12。所以:roundTo*ceil(随机/roundTo)
采取以下行动:
49*ceil(228/49)=245
8*ceil(32/8)=32
100*ceil(64/100)=100
你真的可以用几种方法来做到这一点。我建议使用javascript的函数。其思想是,如果您想四舍五入到最接近的数字
y
,则将输入的x
除以y
。然后将其四舍五入到最接近的整数,再乘以要四舍五入的数字。所以如果你有11,想把它四舍五入到12,除以11/12
,也就是~.917
,四舍五入,1
,然后乘以1*12
=12。所以:roundTo*ceil(随机/roundTo)
采取以下行动:
49*ceil(228/49)=245
8*ceil(32/8)=32
100*ceil(64/100)=100
Math.ceil()
(这将为您提供下一个整数):
使用Math.ceil()
(这将为您提供下一个整数):
我相信你想要的是
ceil
而不是round
。谢谢,很抱歉我当时没有意识到。-1因为描述中仍然提到Math.round()和舍入以及down@devnull69固定和提供的数学示例我相信您想要的是ceil
,而不是round
。谢谢,对不起,我当时没有意识到。-1因为描述中仍然提到Math.round()和四舍五入和down@devnull69修复并提供数学示例
weekMilliseconds * Math.ceil(number / weekMilliseconds);
Math.ceil(randomNumber / weekMilliseconds) * weekMilliseconds