我正试图在GoLang中将一个[]uint8字节的切片转换成一个float64字节的切片.我在网上找不到解决这个问题的方法.我看到过先转换成字符串,然后再转换成float64的建议,但这似乎不起作用,它失go 了它的值,最后我得到了零.

示例:

metric.Value, _ = strconv.ParseFloat(string(column.Value), 64)

而且它不起作用...

推荐答案

例如

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

Go相关问答推荐

Term~T中的类型不能是类型参数,但可以是引用类型参数的切片

Kafka消费者在需要时不会暂停

Fizz对Gin的OpenAPI生成器正在重命名类型

Golang 发送Post请求出现400错误

以编程方式取消 pyspark dataproc 批处理作业(job)

Secrets Manager Update Secret - Secret String 额外的 JSON 编码

如何解决我的 Go 聊天应用程序中 cookie 未在本地主机端口之间传输的问题?

如何将整数哈希细分为范围

如何匹配两次出现的相同但随机字符串之间的字符

整理时转换值

如何使用 Go 代理状态为 OK 的预检请求?

如何将一片 map 转换为一片具有不同属性的 struct

仅在工作日运行 cron

通过 golang 中的 gremlin-go 库嵌入 gremlin 服务器

如何在自定义验证函数中获取 struct 名称

如何在golang中按字符a对字符串数组进行排序

处理程序后访问 HTTP 请求上下文

切片到数组指针的转换

函数调用中的类型参数panic

如何断言类型是指向golang中接口的指针