像大多数现代语言一样,Golang 包含字符串作为内置类型。让我们举个例子,你可能有一个包含数值“3.1415926535”的字符串。但是,由于此值表示为字符串,因此无法对其执行任何数学计算。您需要将此字符串类型显式转换为浮点类型,然后才能对其执行任何数学计算。
ParseFloat()函数
ParseFloat将字符串s转换为由bitSize指定的精度的浮点数:32表示float32,64表示float64。当bitSize=32时,结果的类型仍然为float64,但它可以转换为float32,而无需更改其值。
func ParseFloat(s string, bitSize int) (float64, error)
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))
}
}
要检查转换过程中是否发生错误,请检查err变量是否包含nil值。
输出
3.1415926535 <nil> float64
-3.141 <nil> float64
strconv.ParseFloat: parsing "A-3141X": invalid syntax