How to Convert string to float type in Go?
Like most modern languages, Golang includes strings as a built-in type. Let's take an example, you may have a string that contains a numeric value "3.1415926535". However, because this value is represented as a string, you can't perform any mathematical calculations on it. You need to explicitly convert this string type into an float type before you can perform any mathematical calculations on it.
ParseFloat() Function
ParseFloat converts the string s to a floating-point number with the precision specified by bitSize: 32 for float32, or 64 for float64. When bitSize=32, the result still has type float64, but it will be convertible to float32 without changing its value.Syntax
func ParseFloat(s string, bitSize int) (float64, error)
Example
package main
import (
"fmt"
"reflect"
"strconv"
)
func main() {
s := "3.1415926535"
f, err := strconv.ParseFloat(s, 8)
fmt.Println(f, err, reflect.TypeOf(f))
s1 := "-3.141"
f1, err := strconv.ParseFloat(s1, 8)
fmt.Println(f1, err, reflect.TypeOf(f1))
s2 := "A-3141X"
f2, err := strconv.ParseFloat(s2, 32)
if err != nil {
fmt.Println(err)
} else {
fmt.Println(f2, err, reflect.TypeOf(f2))
}
}
Output
3.1415926535 <nil> float64
-3.141 <nil> float64
strconv.ParseFloat: parsing "A-3141X": invalid syntax
Most Helpful This Week
Most Helpful This Week
Regular Expression to get a string between parentheses in GolangHow to get first and last element of slice in Golang? How to count number of repeating words in a given String?Simple function with return value in GolangHow to set timeout for http.Get() requests in Golang?How to use a mutex to define critical sections of code and fix race conditions?Golang Functions Returning Multiple ValuesExample: Split, Join, and Equal from BYTES PackageGolang HTTP GET request with parametersHow to Draw a rectangle in Golang?