Форматирование чисел в строках
Управляйте десятичными знаками и заполнением с помощью форматтеров.
«Форматирование чисел в строках» — бесплатный урок Swift Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Swift Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Swift Academy содержит 4 уроков всего.
Форматирование чисел
При простой интерполяции значения Double может выводиться много знаков после запятой. Чтобы управлять выводом, можно использовать String(format:) со спецификаторами формата в стиле C.
let pi = 3.14159265
let text = String(format: "%.2f", pi)
print(text)Управление количеством знаков после запятой
Спецификатор %.2f означает число с плавающей точкой и двумя знаками после десятичного разделителя. Измените число, чтобы изменить точность.
let value = 2.0 / 3.0
print(String(format: "%.0f", value))
print(String(format: "%.3f", value))Форматирование целых чисел
Для целых чисел используйте %d. Также можно задать ширину с помощью спецификаторов, например %5d.
let n = 42
print(String(format: "Value: %d", n))
print(String(format: "[%5d]", n))Заполнение чисел нулями
Если перед шириной указать ноль, свободное место заполняется ведущими нулями. Это удобно для идентификаторов фиксированной длины или времени.
let hour = 9
let minute = 5
print(String(format: "%02d:%02d", hour, minute))Округление при форматировании
Спецификатор %f округляет значение до указанного количества знаков после запятой, поэтому форматирование можно использовать для округления при отображении.
let amount = 19.996
print(String(format: "%.2f", amount))Сочетание форматирования и интерполяции
Сначала можно отформатировать значение, а затем встроить результат с помощью обычной интерполяции, чтобы предложения было удобно читать.
let temp = 21.6789
let shown = String(format: "%.1f", temp)
print("Temperature: \(shown) degrees")Проценты и символы
Чтобы вывести обычный знак процента с помощью String(format:), необходимо записать два знака процента.
let rate = 0.075
print(String(format: "%.1f%% rate", rate * 100))Основы FloatingPointFormatStyle
Современный Swift предлагает formatted() с типом FloatingPointFormatStyle — безопасную по типам альтернативу строкам формата.
let value = 1234.5678
print(value.formatted(.number.precision(.fractionLength(2))))Точность стиля форматирования
Модификатор .precision(.fractionLength(n)) задаёт количество отображаемых дробных знаков, подобно %.nf.
let x = 3.14159
print(x.formatted(.number.precision(.fractionLength(0))))
print(x.formatted(.number.precision(.fractionLength(3))))Группировка в стиле форматирования
Стили форматирования чисел также могут добавлять разделители групп разрядов для больших чисел с учётом локали.
let big = 1234567.0
print(big.formatted(.number.precision(.fractionLength(0))))Выбор способа форматирования
Используйте String(format:) для быстрого управления в стиле C или formatted() для безопасного по типам вывода с учётом локали в современном коде.
let price = 9.5
print(String(format: "%.2f", price))
print(price.formatted(.number.precision(.fractionLength(2))))Быстрая проверка
Вспомните, чем управляет спецификатор формата.
Повторение: форматирование чисел в строках
Вы научились управлять выводом чисел с помощью спецификаторов String(format:), таких как %.2f, %d и заполнение нулями %02d, а также использовать современный безопасный по типам стиль formatted(.number.precision(...)) для результатов с учётом локали.
let v = 7.0 / 3.0
print(String(format: "%.2f", v))
print(v.formatted(.number.precision(.fractionLength(2))))Часто задаваемые вопросы
Урок «Форматирование чисел в строках» бесплатный?
Да — полный текст урока «Форматирование чисел в строках» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Swift Academy, подпишись на CoddyKit PRO. Курс Swift Academy содержит 4 уроков всего.
Чему я научусь в уроке «Форматирование чисел в строках»?
Управляйте десятичными знаками и заполнением с помощью форматтеров. Ты практикуешь Swift Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Swift Academy?
Предыдущий опыт не требуется. Swift Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Форматирование чисел в строках»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Swift Academy?
Да. Каждый урок Swift Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Основы интерполяции строк
- Форматирование чисел в строках
- Многострочные строковые литералы
- Пользовательская интерполяция строк