Как преобразовать строку в плавающую в примере Golang

Golang string.ParseFloat () — это встроенная функция, которая преобразует строку s в число с плавающей запятой с точностью, указанной в bitSize: 32 для float32 или 64 для float64 . Когда bitSize = 32 , результат по-прежнему имеет тип float64, но он будет преобразован в float32 без изменения его значения.

Golang Пример преобразования строки в число с плавающей запятой

Метод Golang string.ParseFloat () принимает десятичный и шестнадцатеричный синтаксис чисел с плавающей запятой. Если s правильно сформирован и близок к допустимому числу с плавающей запятой, ParseFloat возвращает ближайшее число с плавающей запятой, округленное с использованием несмещенного округления IEEE754.

Ошибки, возвращаемые ParseFloat, имеют определенный тип * NumError и включают err.Num = s.

Если s синтаксически неверно сформирован, ParseFloat возвращает err.Err = ErrSyntax.

Если s синтаксически правильно сформирован, но более чем на 1/2 ULP от наибольшего числа с плавающей запятой данного размера, ParseFloat возвращает f = ± Inf, err.Err = ErrRange.

ParseFloat распознает строки « NaN », «+ Inf « и «- Inf » как соответствующие им специальные значения с плавающей запятой. Он игнорирует регистр при сопоставлении.

 func ParseFloat (s string, bitSize int) (float64, error) 

См. следующий пример.

 package mainimport ("fmt" "strconv") func  main () {fValue: = "19.21" если s, err: = strconv.ParseFloat (fValue, 32);  err == nil {fmt.Printf ("% T,% v  n", s, s)} если s, err: = strconv.ParseFloat (fValue, 64);  err == nil {fmt.Printf ("% T,% v  n", s, s)}} 

Вывод

 go run hello.gofloat64, 19.209999084472656float64, 19.21 

Golang Float to string

Используйте fmt.Sprintf ( ) Для форматирования числа с плавающей запятой в виде строки.

Функция Golang Sprintf () форматирует в соответствии с описателем формата и возвращает результирующую строку.

См. следующий код.

 package mainimport ("fmt") func main () {data: = 11.21s: = fmt  .Sprintf ("% f", data) fmt.Printf ("% T,% v  n", s, s)} 

Вывод

 go run hello.gostring, 11.210000 

Функция Sprintf () помогает нам преобразовать float в строковый тип данных.

Форматирование Описание Глагол
1.234560e + 02 Научная нотация % e
123.456000 Десятичная точка, без экспоненты %f
123,46 Ширина по умолчанию, точность 2 % .2f
␣␣123.46 Ширина 8, точность 2 % 8.2f
123. 456 Степень по необходимости, только необходимые цифры % g

Заключение

Функция Golang ParseFloat () принимает десятичные и шестнадцатеричные числа с плавающей запятой. Если строка правильно сформирована и близка к действительному числу с плавающей запятой, функция возвращает ближайшее число с плавающей запятой, округленное с использованием несмещенного округления IFFF754. Если строка имеет неправильный формат, функция возвращает ошибку (err.Err = ErrSyntax).

Итак, чтобы преобразовать или преобразовать строку в значение с плавающей запятой, просто используйте функцию strconv.ParseFloat ().

См. также

Golang int в строку

Golang Serialize JSON String

Golang JSON в CSV

Строка Golang в int

Golang JSON to Map

Строка Golang в массив байтов

Оцените статью
nanomode.ru
Добавить комментарий