在线文档 > Golang练习 > 数字解析
从字符串中解析数字是许多程序中的基本但常见任务。
以下是在Go中执行此操作的方法。
package main
// 内置包 `strconv` 提供数字解析。
import (
"fmt"
"strconv"
)
func main() {
// 使用`ParseFloat`时,`64`指定要解析的精度位数。
f, _ := strconv.ParseFloat("1.234", 64)
fmt.Println(f)
// 对于`ParseInt`,`0`表示从字符串中推断出进制。`64`要求结果适合64位。
i, _ := strconv.ParseInt("123", 0, 64)
fmt.Println(i)
// `ParseInt`将识别十六进制格式的数字。
d, _ := strconv.ParseInt("0x1c8", 0, 64)
fmt.Println(d)
// `ParseUint`也可用。
u, _ := strconv.ParseUint("789", 0, 64)
fmt.Println(u)
// `Atoi`是一个基本的10进制`int`解析的方便函数。
k, _ := strconv.Atoi("135")
fmt.Println(k)
// 解析函数在错误输入时返回一个错误。
_, e := strconv.Atoi("wat")
fmt.Println(e)
}
运行结果如下:
$ go run number-parsing.go
1.234
123
456
789
135
strconv.ParseInt: parsing "wat": invalid syntax