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

Как форматировать числа в Golang?

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

Форум Гоферов

Мы работаем над форумом для программистов на Golang. Очень нужны модераторы которые хотят помочь с ответами для новичков и помочь в развитии Go-сообщества.

Go на Форум

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

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

Go в ВК Go в Telegram

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

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

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

Как правильно форматировать числа в Golang?

В примере кода выше показан наиболее часто используемых опций для целочисленных (integer) и вещественных (float) значений. Форматировани в Go заимствовано из функции C — printf.  Так называемые verbs используются для определения форматируемого числа. Это может быть специальный символ %X, что является плейсхолдером для значения.

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

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