比较数值大小问题
If i = 45 ThenMsgBox Xstockline(Nbatch + 1, 1): MsgBox Xstockline(Nbatch + 1, 2): MsgBox Xratio(i)
End If
For j = 1 To m1
If Xratio(i) >= Xstockline(Nbatch + 1, j) And Xratio(i) <= Xstockline(Nbatch + 1, j + 1) Then
Yratio1(i) = Kratio1(j) * (Xratio(i) - Xstockline(Nbatch + 1, j)) + Ystockline(Nbatch + 1, j)
Exit For
End If
Next j
If i = 45 Then
MsgBox j
End If
第一个if之后输出的数值分别是:-3.0,-0.9,-1.35,m1的值为2。我的理解是j=1时,条件成立然后执行第二个if中的语句后跳出第一个循环,最后第3个if中应该输出j的值是1。
但是我运行之后,第一个if输出的数值确实是-3.0,-0.9,-1.35.但第三个if输出的j为3.这就意味着第二个if的条件不成立,从而没有执行里面的语句,请问是什么原因。
在此谢谢版主老哥对上个帖子的热心解答,也请路过知道本帖问题的老哥给点意见,谢谢
[此贴子已经被作者于2018-5-14 18:28编辑过]