从字符串中解析数字是许多程序中一项基本但常见的任务;以下是在 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 是用于基本十进制 int 解析的便捷函数。
|
k, _ := strconv.Atoi("135")
fmt.Println(k)
|
解析函数在输入错误时返回错误。
|
_, e := strconv.Atoi("wat")
fmt.Println(e)
}
|