package float_calc
import "fmt"
func Main() {
var floatNumbers = []float64{1, 1, 1, 1, 1, 1, 1}
var sum float64
sum = 0
for _, floatNumber := range floatNumbers {
sum += floatNumber - 0.01
fmt.Println(sum)
}
}
结果如下:
0.99
1.98
2.9699999999999998
3.96
4.95
5.94
6.930000000000001
求解决方案
四舍五入保留有效位数吧,这和语言没有关系,而是浮点数表示通用的问题,去了解下浮点数在计算机中的表示规则吧。