将整数向上舍入为3的倍数

Tom*_*mer 6 integer rounding swift

我想将一个整数舍入到其最接近的3的倍数.示例:

var numberOne = 2
var numberTwo = 7
Run Code Online (Sandbox Code Playgroud)
  • numberOne四舍五入等于3
  • numberTwo四舍五入等于9

我不希望它永远倒下.

有任何想法吗?谢谢

Mar*_*n R 13

我的2克拉:

func roundUp(value: Int, divisor: Int) -> Int {
    let rem = value % divisor
    return rem == 0 ? value : value + divisor - rem
}
Run Code Online (Sandbox Code Playgroud)

  • 最聪明,最快,最简单 (2认同)

erd*_*ser 12

我在Playground工作了:

import Foundation

func roundToThree(value: Int) -> Int{
    var fractionNum = Double(value) / 3.0
    let roundedNum = Int(ceil(fractionNum))
    return roundedNum * 3
}

roundToThree(2)
roundToThree(7)
Run Code Online (Sandbox Code Playgroud)