0Pricing
Swift Academy · Урок

Числа с плавающей точкой: Double и Float

Выбирайте между Double и Float и учитывайте точность.

«Числа с плавающей точкой: Double и Float» — бесплатный урок Swift Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Swift Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Swift Academy содержит 4 уроков всего.

Типы с плавающей точкой

В Swift есть два основных типа с плавающей точкой: Double (64 бита) и Float (32 бита). Они представляют числа с дробными частями.

let d: Double = 3.14159
let f: Float = 3.14159
print(d, f)

Тип двойной точности по умолчанию

Когда Вы записываете десятичный литерал без аннотации типа, Swift выводит тип Double. Тип двойной точности обеспечивает большую точность, чем тип одинарной точности.

let value = 2.5
print(type(of: value))

Разница в точности

Double хранит около 15 значащих десятичных цифр, а Float — только около 6 или 7. Один и тот же литерал может выводиться по-разному.

let d: Double = 0.1234567890123456
let f: Float = 0.1234567890123456
print(d)
print(f)

Константа числа пи

Оба типа предоставляют свойство .pi. Double.pi точнее, чем Float.pi.

print(Double.pi)
print(Float.pi)

Арифметика с плавающей точкой

Вы можете складывать, вычитать, умножать и делить числа с плавающей точкой. При делении сохраняется дробный результат.

let radius = 2.0
let area = Double.pi * radius * radius
print("Area:", area)

Методы округления

Значения с плавающей точкой поддерживают .rounded(), а также варианты вроде .rounded(.down) и .rounded(.up).

let x = 2.7
print(x.rounded())
print(x.rounded(.down))
print(x.rounded(.up))

Округление вниз, вверх и усечение

Правила округления позволяют округлять вниз в сторону отрицательной бесконечности, вверх в сторону положительной бесконечности или отбрасывать дробную часть в сторону нуля.

let n = -2.3
print(n.rounded(.down))
print(n.rounded(.up))
print(n.rounded(.towardZero))

Неточность вычислений с плавающей точкой

Из-за двоичного представления некоторые десятичные числа нельзя сохранить точно. 0.1 + 0.2, как известно, не равно в точности 0.3.

let sum = 0.1 + 0.2
print(sum)
print(sum == 0.3)

Безопасное сравнение чисел с плавающей точкой

Вместо проверки точного равенства сравнивайте числа с плавающей точкой с небольшой допустимой погрешностью (эпсилон).

let sum = 0.1 + 0.2
let close = abs(sum - 0.3) < 0.0001
print("Close enough:", close)

Специальные значения чисел с плавающей точкой

Типы чисел с плавающей точкой могут представлять infinity и nan (не число). Проверяйте их с помощью .isInfinite и .isNaN.

let inf = Double.infinity
let notNum = Double.nan
print(inf.isInfinite)
print(notNum.isNaN)

Выбор между Double и Float

В обычных математических вычислениях отдавайте предпочтение Double для большей точности. Используйте Float только когда этого требуют экономия памяти или особенности оборудования, например графики, которым нужно 32-битное значение.

let preciseAvg: Double = (10.0 + 3.0) / 4.0
print(preciseAvg)

Быстрая проверка

Вспомните, какой тип Swift выводит для десятичных литералов.

Итоги: Double и Float

Вы узнали, что Double (64-битный тип, используемый по умолчанию) точнее Float (32-битного типа), что оба типа предоставляют .pi и методы округления, а арифметика с плавающей точкой неточна, поэтому сравнивать значения следует с допустимой погрешностью, а не с помощью ==.

let a = 0.1 + 0.2
print("Raw:", a)
print("Rounded:", a.rounded())
print("Within tolerance of 0.3:", abs(a - 0.3) < 1e-9)

Часто задаваемые вопросы

Урок «Числа с плавающей точкой: Double и Float» бесплатный?

Да — полный текст урока «Числа с плавающей точкой: Double и Float» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Swift Academy, подпишись на CoddyKit PRO. Курс Swift Academy содержит 4 уроков всего.

Чему я научусь в уроке «Числа с плавающей точкой: Double и Float»?

Выбирайте между Double и Float и учитывайте точность. Ты практикуешь Swift Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Swift Academy?

Предыдущий опыт не требуется. Swift Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Числа с плавающей точкой: Double и Float»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Swift Academy?

Да. Каждый урок Swift Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Целочисленные типы и их диапазоны
  2. Числа с плавающей точкой: Double и Float
  3. Явные преобразования чисел
  4. Числовые литералы и символы подчёркивания
← Назад к Swift Academy