В Go есть возможность выполнить округление вещественного числа до целочисленного значения или до указанной точности округления. Частой ошибкой является конвертирование вещественного типа float64 в целочисленный тип Integer.

К примеру, при конвертировании float-числа 3.9999 в тип integer его значение не округлится до 4. В результате получится 3. В версии Go (1.9.2) нет функции Round. Однако, начиная с версии 1.10 функция Round была добавлена в пакет math.

Премиум 👑 канал по Golang

Рекомендуем вам супер TELEGRAM канал по Golang где собраны все материалы для качественного изучения языка. Удивите всех своими знаниями на собеседовании! 😎

Подписаться на канал

Уроки, статьи и Видео

Мы публикуем в паблике ВК и Telegram качественные обучающие материалы для быстрого изучения Go. Подпишитесь на нас в ВК и в Telegram. Поддержите сообщество Go программистов.

Go в ВК ЧАТ в Telegram


Как округлить число float в Go?

1. Создайте файл round.go со следующим содержимым:

2. Запустите код в терминале через go run round.go;
3. Посмотрите на вывод:

На деле в результате конвертирования типа float в integer дробная часть просто обрезается. Предположим, значение 2 представлено как 1.999999. Таким образом, выводом станет 1, чего нам не нужно.

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

В версии Go 1.10 используется более быстрая версия функции, что упоминалась в нашем примере. В версии 1.10 для получения округленного числа можно вызвать функцию math.Round.

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии