Преобразование Double в Int в Swift: методы и примеры кода

В Swift иногда может потребоваться преобразовать значение Double в тип Int. Это преобразование необходимо, если вы хотите обрезать десятичную часть числа и работать только с целыми числами. В этой статье мы рассмотрим различные методы преобразования Double в Int в Swift, а также примеры кода для каждого метода.

Метод 1: использование инициализатора Int():
Самый простой и распространенный способ преобразования Double в Int в Swift — использование инициализатора Int(). Этот метод просто создает новый экземпляр Int, округляя значение Double до ближайшего целого числа.

let doubleValue: Double = 3.14
let intValue = Int(doubleValue)
print(intValue) // Output: 3

Метод 2. Использование метода truncatingRemainder(dividingBy:):
Другой подход заключается в использовании метода truncatingRemainder(dividingBy:), который возвращает остаток от операции деления. Разделив значение Double на 1, мы можем извлечь целую часть.

let doubleValue: Double = 4.56
let intValue = doubleValue.truncatingRemainder(dividingBy: 1)
print(intValue) // Output: 4.0

Метод 3. Использование функции Floor():
Функция Floor() полезна, когда вы хотите округлить значение Double до ближайшего целого числа. Применяя функцию Floor(), мы можем получить значение Int.

let doubleValue: Double = 7.89
let intValue = Int(floor(doubleValue))
print(intValue) // Output: 7

Метод 4. Использование функции round():
Если вы хотите округлить значение Double до ближайшего целого числа, вы можете использовать функцию round(). Этот метод округляет значение до ближайшего целого числа и возвращает его как Int.

let doubleValue: Double = 9.99
let intValue = Int(round(doubleValue))
print(intValue) // Output: 10

Метод 5: использование строки и NSNumber:
Альтернативный подход — преобразовать Double в строку, а затем в NSNumber. Наконец, мы можем извлечь значение Int из объекта NSNumber.

let doubleValue: Double = 12.34
if let intValue = Int(String(format: "%.0f", doubleValue)) {
    print(intValue) // Output: 12
}

В этой статье мы рассмотрели несколько методов преобразования значения Double в Int в Swift. Мы рассмотрели методы, использующие инициализатор Int(), truncatingRemainder(dividingBy:),floor(), round(), а также преобразование Double в строку, а затем в NSNumber. В зависимости от ваших конкретных требований вы можете выбрать наиболее подходящий метод для вашего проекта Swift.