相关疑难解决方法(0)

golang:将hex转换为float

我必须转换hex,表示为strings(例如"0xC40C5253")浮点值(IEEE-754转换).我没有设法使用strconv.ParseFloat函数.还有什么我必须使用的吗?到目前为止我找不到它.我也尝试先将它转换为整数然后转换为浮点数,但结果是错误的.

我上次尝试的代码:

package main

import (
  "fmt"
  "strconv"
)

func main () {
  x, err := strconv.ParseInt("C40C5253", 16, 64) 
  f, err := strconv.ParseFloat(fmt.Sprintf("%d", x), 64) 

  if err != nil {
    fmt.Printf("Error in conversion: %s\n", err)
  } else {
    fmt.Println(f)
  }
}
Run Code Online (Sandbox Code Playgroud)

floating-point hex type-conversion go

5
推荐指数
2
解决办法
1万
查看次数

如何将长十六进制字符串解析为uint

我正在提取长十六进制字符串形式的数据,我需要将其转换为十进制表示法,截断18位小数,然后以JSON格式提供.

例如,我可能有十六进制字符串:

"0x00000000000000000000000000000000000000000000d3c21bcecceda1000000"
Run Code Online (Sandbox Code Playgroud)

起初我试图使用ParseUint(),但是因为它支持的最高int64,我的数字最终太大了.

转换和截断后的此示例导致10 ^ 6.然而,有些情况下这个数字可能高达10 ^ 12(意味着预截断10 ^ 30!).

攻击这个的最佳策略是什么?

go

3
推荐指数
1
解决办法
498
查看次数

标签 统计

go ×2

floating-point ×1

hex ×1

type-conversion ×1