Используйте rounded(.up)
.Вот полезное расширение:
extension BinaryFloatingPoint {
func roundedUpNearest10() -> Self {
return (self / 10).rounded(.up) * 10
}
}
for num in [ 1.2, 1.9, 5.5, 20.3, 25.5, 29, 90, 90.1, 95.5, 99.01, 120, 121.1, 129.5 ] {
print(num, num.roundedUpNearest10())
}
Вывод:
1,2 10,0
1,9 10,0
5,5 10,0
20,3 30,0
25,5 30,0
29,0 30,0
90,0 90,0
90,1 100,0
95,5 100,0
99,01 100,0
120,0 120,0
121,1 130,0
129,5 130,0
Если вы действительно хотитеInt
результат, обновите расширение:
extension BinaryFloatingPoint {
func roundedUpNearest10() -> Int {
return Int((self / 10).rounded(.up) * 10)
}
}