任何一种语言在做浮点数计算后,都存在计算结果的精度问题,例如用golang从mysql数据库查出来的两个decimal数值相加减后,期结果肯定也是两位小数,但golang计算出来的结果就会有很多位,例如:
1725577.59 - 1381341.21 = 344236.3800000001
结果会出现10位小数,这个结果肯定不是我们想要的,我们只要结果的后两位,并且后两位的结果也是准确的
344236.38
这是就如何做到golang float64 计算后保留2位小数
func Decimal(num float64) float64 {
num, _ = strconv.ParseFloat(fmt.Sprintf("%.2f", num), 64)
return num
}
如有问题请留言反馈,若对您有帮助,请帮点个赞,谢谢!