Я пытаюсь округлить двойное число до целого числа,
var numberOfBottles = totalVolume / volumeEachBottles
например numberOfBottles = 275.0 / 250.0
что дало бы мне 1.1, мне нужно округлить до 2
Ответ 1
Try:
var numberOfBottles = totalVolume / volumeEachBottles
numberOfBottles.rounded(.up)
или
numberOfBottles.rounded(.down)
Ответ 2
Существует встроенная глобальная функция, называемая ceil, которая выполняет именно это:
var numberOfBottles = ceil(totalVolume/volumeEachBottles)
Это возвращает 2, как Double.
ceil фактически объявлен в math.h и документирован здесь, в справочных страницах OS X. Это почти наверняка более эффективно, чем любой другой подход.
Даже если вам нужен Int в качестве конечного результата, я бы начал с вычисления ceil следующим образом, а затем с помощью конструктора Int в результате вычисления ceil.
Ответ 3
import Foundation
var numberOfBottles = 275.0 / 250.0
var rounded = ceil(numberOfBottles)
Ответ 4
func round(value: Double) -> Int {
var d : Double = value - Double(Int(value))
if d > 0.0 {
return Int(value) + 1
} else {
return Int(value)
}
}