Далее будет дана инструкция для конвертации строк, внутри которых находятся числа, в числовой тип данный. Это может быть integer или float.
Как конвертировать строку в числовой тип в Go?
1. Создайте файл main.go
со следующим содержимым:
Рекомендуем вам супер TELEGRAM канал по Golang где собраны все материалы для качественного изучения языка. Удивите всех своими знаниями на собеседовании! 😎
Мы публикуем в паблике ВК и Telegram качественные обучающие материалы для быстрого изучения Go. Подпишитесь на нас в ВК и в Telegram. Поддержите сообщество Go программистов.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
package main import ( "fmt" "strconv" ) const bin = "00001" const hex = "2f" const intString = "12" const floatString = "12.3" func main() { // Десятичные значения res, err := strconv.Atoi(intString) if err != nil { panic(err) } fmt.Printf("Parsed integer: %d\n", res) // Парсинг шестнадцатеричных значений res64, err := strconv.ParseInt(hex, 16, 32) if err != nil { panic(err) } fmt.Printf("Parsed hexadecima: %d\n", res64) // Парсинг бинарных значений resBin, err := strconv.ParseInt(bin, 2, 32) if err != nil { panic(err) } fmt.Printf("Parsed bin: %d\n", resBin) // Парсинг вещественных значений resFloat, err := strconv.ParseFloat(floatString, 32) if err != nil { panic(err) } fmt.Printf("Parsed float: %.5f\n", resFloat) } |
2. Запустите код в терминале через go run main.go
;
3. Посмотрите на вывод:
strconv.ParseInt() и ParseFloat() для конвертации строки в число
Основной функцией предыдущего примера кода является функция ParseInt
из пакета strconv
. Функция вызывается с тремя аргументами: ввод, база ввода и размер в битах. База определяет, как парсируется число. Обратите внимание, что базой шестнадцатеричного значения (второй аргумент) будет 16, а бинарного — 2. Функция Atoi
(ASCII to Integer) из пакета strconv
по факту является функцией ParseInt
с базой 10.
Функция ParseFloat
конвертирует строку в число вещественного типа float. Второй аргумент является точностью bitSize.bitSize = 64
приведет к float64.bitSize = 32
, что приведет к float64
, что конвертируется во float32
без изменения значения.
Администрирую данный сайт с целью распространения как можно большего объема обучающего материала для языка программирования Go. В IT с 2008 года, с тех пор изучаю и применяю интересующие меня технологии. Проявляю огромный интерес к машинному обучению и анализу данных.
E-mail: vasile.buldumac@ati.utm.md
Образование
Технический Университет Молдовы (utm.md), Факультет Вычислительной Техники, Информатики и Микроэлектроники
- 2014 — 2018 Universitatea Tehnică a Moldovei, ИТ-Инженер. Тема дипломной работы «Автоматизация покупки и продажи криптовалюты используя технический анализ»
- 2018 — 2020 Universitatea Tehnică a Moldovei, Магистр, Магистерская диссертация «Идентификация человека в киберпространстве по фотографии лица»