我有一個函數(shù)可以簡單地讀取帶有ioutil.ReadFile(). 返回的類型是[]byte,盡管值本身可以表示為浮點數(shù)。我正在以[]byte這種方式轉換(從讀取文件的函數(shù)返回的位置在哪里)value:[]bytevar floatValue float64fmt.Fscanf(bytes.NewReader(value), "%f", &floatValue)這真的是從 a 中提取/解析有效浮點值的唯一方法嗎[]byte?有一個類似的討論,但看起來并沒有真正取得任何進展。
1 回答

四季花海
TA貢獻1811條經(jīng)驗 獲得超5個贊
您可以輕松地使用strconv.ParseFloat
它,只需先將您的轉換[]byte
為字符串即可。這肯定會比創(chuàng)建閱讀器并使用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
- 1 回答
- 0 關注
- 118 瀏覽
添加回答
舉報
0/150
提交
取消