为了账号安全,请及时绑定邮箱和手机立即绑定

在 GoLang 中将字节切片“[]uint8”转换为 float64

在 GoLang 中将字节切片“[]uint8”转换为 float64

Go
SMILET 2021-07-29 15:04:44
我正在尝试将一个[]uint8字节切片转换为float64GoLang 中的一个。我在网上找不到这个问题的解决方案。我已经看到了先转换为字符串然后再转换为 a 的建议,float64但这似乎不起作用,它失去了它的价值,我最终得到了零。例子:metric.Value, _ = strconv.ParseFloat(string(column.Value), 64)它不起作用......
查看完整描述

3 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

例如,


package main


import (

    "encoding/binary"

    "fmt"

    "math"

)


func Float64frombytes(bytes []byte) float64 {

    bits := binary.LittleEndian.Uint64(bytes)

    float := math.Float64frombits(bits)

    return float

}


func Float64bytes(float float64) []byte {

    bits := math.Float64bits(float)

    bytes := make([]byte, 8)

    binary.LittleEndian.PutUint64(bytes, bits)

    return bytes

}


func main() {

    bytes := Float64bytes(math.Pi)

    fmt.Println(bytes)

    float := Float64frombytes(bytes)

    fmt.Println(float)

}

输出:


[24 45 68 84 251 33 9 64]

3.141592653589793


查看完整回答
反对 回复 2021-08-02
  • 3 回答
  • 0 关注
  • 447 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信