有人可以解释以下内容。我在 go 中有一个函数,它接受几个 float64,然后使用这个值来计算许多其他值。该功能看起来像
func (g *Geometry) CalcStresses(x, zmax, zmin float64)(Vertical)
结果被放入一个结构中
type Vertical struct {
X float64
Stresses []Stress
}
现在有趣的是这个。如果我这样调用函数;
for i:=14.0; i<15.0; i+=0.1{
result := geo.CalcStresses(i, 10, -10)
}
然后我得到很多结果,其中 Stress 数组为空,另一个有趣的细节是 x 有时显示为带有很多小数的数字(如 14.399999999999999998)
但是,如果我这样调用函数;
for i:=0; i<10; i++{
x := 14.0 + float64(i) * 0.1
result := geo.CalcStresses(x,10,-10)
}
那么一切都很好。
有谁知道为什么会这样?
皈依舞
相关分类