В 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.