Go fmt.Sprintf: форматирование строки и числа с двумя знаками
Карточка заказа
На складе каждый день оформляются десятки позиций: товары принимаются, пересчитываются и вносятся в учётные документы. Чтобы избежать путаницы между устно озвученными данными и тем, что реально записано, принято формировать карточку заказа — краткий структурированный листок, в котором собраны только исходные сведения о конкретной позиции.
Сотрудник склада вводит три значения: название товара, количество упаковок и цену одной упаковки. Из этих данных программа должна собрать аккуратную карточку, где каждый параметр занимает своё место и выглядит одинаково при любом вводе. Особое внимание уделяется цене: она всегда должна отображаться с двумя знаками после десятичной точки, чтобы не возникало разночтений между, скажем, «пятью рублями» и «пятью рублями ноль-ноль».
Карточка служит исключительно для сверки — убедиться, что название, количество и цена за единицу зафиксированы верно, прежде чем документ уйдёт дальше по цепочке. Никаких вычислений она не предполагает: итоговая стоимость намеренно оставлена за её пределами. Результат работы программы — единообразно отформатированная карточка, которую одинаково легко читать и сотруднику у стеллажа, и менеджеру за столом.
Формат ввода
В одной строке через пробел даны название товара одним словом, количество упаковок (int) и цена одной упаковки (float64).
Формат вывода
Сформируйте карточку через fmt.Sprintf, сохраните её в строковую переменную и выведите. Цена должна содержать ровно два знака после десятичной точки:
Товар: <название> Количество: <количество> упаковки Цена за единицу: <цена> руб.
Пример
- Ввод
кофе 3 249.9
- Вывод
Товар: кофе Количество: 3 упаковки Цена за единицу: 249.90 руб.
Без регистрации. Гостевая проверка не сохраняет прогресс. Для сохранения перейдите к уроку.
Отправьте решение, чтобы увидеть результаты тестов.
Связанные задачи
- Go strings.Split и strconv.ParseFloat: сумма чисел в строке
- Go encoding/json: фильтрация потока JSON по полю alert
- Go []rune: разворот строки UTF-8 без порчи кириллицы
- Go strings: проверка имени файла и расширения перед загрузкой
- Go if и switch: несколько значений в одной ветке
- Go pointer receiver и встраивание struct: изменяемый счётчик
