Подтвердить что ты не робот

Быстрое округление

Я пытаюсь округлить двойное число до целого числа,

var numberOfBottles = totalVolume / volumeEachBottles

например numberOfBottles = 275.0 / 250.0 что дало бы мне 1.1, мне нужно округлить до 2

4b9b3361

Ответ 1

Try:

var numberOfBottles = totalVolume / volumeEachBottles
numberOfBottles.rounded(.up) 

или

numberOfBottles.rounded(.down)

Ответ 2

Существует встроенная глобальная функция, называемая ceil, которая выполняет именно это:

var numberOfBottles = ceil(totalVolume/volumeEachBottles)

Это возвращает 2, как Double.

enter image description here

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)
    }
}