Сайт работает в тестовом режиме - все замечания, предложения и информацию о найденных ошибках направляйте, пожалуйста, в Telegram-группу
Курс в процессе наполнения. Полный курс доступен на Степике

Баг: Неожиданное округление в `fmt.Sprintf("%.Nf", x)`

Проблема:
fmt.Sprintf("%.2f", 2.125) возвращает "2.13", хотя ожидалось "2.12".

Почему так происходит:
fmt.Sprintf использует стандартное математическое округление (round half up): если следующая цифра ≥ 5, предыдущая увеличивается на 1. Это не банковское округление и не простое отбрасывание знаков.

Решение:
Если нужно просто отбросить лишние знаки без округления, используйте math.Trunc

Загрузка...