从 []bytes 解析浮点值的最佳方法是什么?

我有一个函数可以简单地读取带有ioutil.ReadFile(). 返回的类型是[]byte,尽管值本身可以表示为浮点数。


我正在以[]byte这种方式转换(从读取文件的函数返回的位置在哪里)value:[]byte


var floatValue float64

fmt.Fscanf(bytes.NewReader(value), "%f", &floatValue)

这真的是从 a 中提取/解析有效浮点值的唯一方法吗[]byte?有一个类似的讨论,但看起来并没有真正取得任何进展。


慕慕森
浏览 62回答 1
1回答

四季花海

您可以轻松地使用strconv.ParseFloat它,只需先将您的转换[]byte为字符串即可。这肯定会比创建阅读器并使用scanf类似功能进行扫描的开销更少。sb := []byte("3.1415")s := string(sb)f, err := strconv.ParseFloat(s, 64)if err != nil {    panic("whoops!")}fmt.Printf("%f\n", f)输出:3.141500
打开App,查看更多内容
随时随地看视频慕课网APP