Как я могу округлить Int до ближайшей 10 в Swift? - PullRequest
0 голосов
/ 11 июня 2019

У меня небольшая проблема с округленными числами до ближайших 10

    var finalResult = Int(textfield.text!)

    let x = Double(finalResult)
    let y = x.rounded() / 5
    print(x) // 18.0
    print(y) // 3.6

Я хочу, чтобы результат был таким:

     // if x = 6.0 ... 14.0
     // y = 2 

     // if x = 15.0
     // y = 3 

     // if x = 16.0 ... 24.0 
     // y = 4 

     // if x = 25.0
     // y = 5 

     // if x = 26.0 ... 34.0
     // y = 6

Надеюсь, я задал вопрос, который мне выгодени другие

Я надеюсь, что я хорошо объяснил вопрос

1 Ответ

0 голосов
/ 11 июня 2019

Вам необходимо использовать функцию округления и x % 5 == 0 check.

let values = (6...100).map({ Double($0) })

func round(_ value: Double, toNearest: Double) -> Double {
    return round(value / toNearest) * toNearest
}

for x in values {
    if x.truncatingRemainder(dividingBy: 5) == 0 {
        print("x - \(x), y - \(Int(x / 5))")
    } else {
        let rounded = round(x, toNearest: 10.0)
        print("x - \(x), y - \(Int(rounded / 5))")
    }
}
...