【发布时间】:2021-03-19 22:42:18
【问题描述】:
有没有办法在不改变数据的情况下处理这种转换?
f := float64(-3942.2)
fmt.Println(float64(float32(f))) // = -3942.199951171875
找回-3942.2 的唯一方法是将其重铸为float32:
fmt.Println(float32(float64(float32(f)))) // = -3942.2
https://play.golang.org/p/ReIefOPEaoz
编辑:
这不是格式问题:
f := float64(-3942.2)
fmt.Println(f == float64(float32(f))) // false
编辑2:
fmt.Println(f) // -3942.2
fmt.Println(float32(f) == float32(float64(float32(f)))) // true
【问题讨论】:
标签: go