对数字进行舍入,使其可被m整除(在R中)

时间:2014-07-28 05:23:56

标签: r rounding

对x进行舍入以使其可被m整除的最简单方法是什么?


例如,

if x = 114, m =4, then the round up should be 116 

if x = 119, m=5, then the round up should be 120 

3 个答案:

答案 0 :(得分:2)

将数字除以需要倍数,将结果四舍五入到下一个整数,然后再乘以所需的倍数。

例如:116/5 = 23.1,舍入到24,24·5 = 120

答案 1 :(得分:2)

roundUp <- function(x,m) m*ceiling(x / m)
roundUp(119,5)
roundUp(114,4)

答案 2 :(得分:1)

使用modulo(%%):

roundUP <- function(x, m){x + m - x %% m}

roundUP(114, 4)
[1] 116
roundUP(119, 5)
[1] 120
roundUP(118, 5)
[1] 120
roundUP(113, 5)
[1] 115