一个 float32 类型的浮点数可以提供大约 6 个十进制数的精度,而 float64 则可以提供约 15 个十进制数的精度。
var a1 long = 43846793178884500
var a2 float64 = float64(a1)
var a3 long = long(a2)
最终a3结果会是43846793178884496,这是由于a2的精度问题。
如果需要准确的计算,可以使用github.com/shopspring/decimal.git
一个 float32 类型的浮点数可以提供大约 6 个十进制数的精度,而 float64 则可以提供约 15 个十进制数的精度。
var a1 long = 43846793178884500
var a2 float64 = float64(a1)
var a3 long = long(a2)
最终a3结果会是43846793178884496,这是由于a2的精度问题。
如果需要准确的计算,可以使用github.com/shopspring/decimal.git
本文标题:go精度问题
本文链接:https://www.haomeiwen.com/subject/xbchdhtx.html
网友评论