strconv.ParseInt:正在解析“18446744073709551615”:值超出范围
strconv.ParseInt: parsing "18446744073709551615": value out of range
用 strconv.ParseInt
解析 uint64 最大值时是否正常?
i, err := strconv.ParseInt("18446744073709551615", 10, 64)
fmt.Println(i, err)
我收到一个错误:"strconv.ParseInt: parsing "18446744073709551615": value out of range"
,当 uint64 的最大允许值为:18446744073709551615
你能解释一下这种行为吗?
调用 ParseUint 解析无符号整数。
ParseInt 函数解析有符号整数。最大有符号整数为 9223372036854775807.
根据评论,我将您的代码转载如下:
package main
import (
"fmt"
"strconv"
)
func main() {
i, err := strconv.ParseUint("18446744073709551615", 10, 64)
fmt.Println(i, err)
}
输出:
18446744073709551615 <nil>
用 strconv.ParseInt
解析 uint64 最大值时是否正常?
i, err := strconv.ParseInt("18446744073709551615", 10, 64)
fmt.Println(i, err)
我收到一个错误:"strconv.ParseInt: parsing "18446744073709551615": value out of range"
,当 uint64 的最大允许值为:18446744073709551615
你能解释一下这种行为吗?
调用 ParseUint 解析无符号整数。
ParseInt 函数解析有符号整数。最大有符号整数为 9223372036854775807.
根据评论,我将您的代码转载如下:
package main
import (
"fmt"
"strconv"
)
func main() {
i, err := strconv.ParseUint("18446744073709551615", 10, 64)
fmt.Println(i, err)
}
输出:
18446744073709551615 <nil>