Задача курса
Go strings.Split и strconv.ParseFloat: сумма чисел в строке
Курс «Golang с нуля» · урок «Пакеты strings и strconv: поиск, разбивка, замена и преобразование типов»
Условие
Сумма позиций чека
На кассе супермаркета кассир набирает цены всех товаров в одну строку, разделяя их запятыми, — быстрый способ передать данные о чеке без лишних формальностей. Программа должна разобрать эту строку, аккуратно убрать случайные пробелы вокруг каждого значения и сложить все цены в итоговую сумму.
Если все поля содержат корректные числа, результат выводится с двумя знаками после десятичной точки — именно так, как принято указывать денежные суммы в чеке. Обработка идёт последовательно: как только встречается первое поле, которое не удаётся распознать как число, программа немедленно сообщает об ошибке и указывает проблемное значение.
Что нужно сделать
Допишите только sumReceipt. Разберите простую строку с разделителем-запятой с помощью функций пакетов strings и strconv, изученных в уроке. Пробелы вокруг значений не должны мешать разбору. При первой ошибке верните очищенное проблемное поле и false; пустое поле тоже считается ошибкой. При успехе верните сумму и true. Чтение одной строки и печать уже даны в main.
Формат ввода
Одна строка чисел, разделённых запятыми. Кавычек и экранирования нет.
Формат вывода
При успехе: total=S, где S напечатано с двумя знаками после точки. При ошибке: invalid=F, где F — первое очищенное поле, которое не удалось разобрать.
Пример
Ввод:
1.5, 2, 3.0
Вывод:
total=6.50
Примеры
Пример 1
- Ввод
1.5, 2, 3.0
- Ожидаемый результат
total=6.50
