我有一些代码需要能够将包含 64 位值的字符串解析为 int64。例如,ff11223344556677是有效的,但下游系统希望在int64.
strconv.ParseInt("ff11223344556677", 16, 64)给出范围错误 - 它只喜欢解析正整数。有没有办法将这个值放入 int64 中,即使它是负数?
例如,
package main
import (
"fmt"
"strconv"
)
func main() {
u, err := strconv.ParseUint("ff11223344556677", 16, 64)
fmt.Printf("%x %v\n", u, err)
i := int64(u)
fmt.Println(i)
}
Run Code Online (Sandbox Code Playgroud)
输出:
ff11223344556677 <nil>
-67234915848722825
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1894 次 |
| 最近记录: |