- 积分
- 658
- 回帖
- 0
- 西莫币
-
- 贡献
-
- 威望
-
- 存款
-
- 阅读权限
- 25
- 最后登录
- 1970-1-1
该用户从未签到
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
最近用VB编程,编了个插值的子程序,但是每次调用之后插值出来的结果都是无限循环小数,总是后面带一堆99999的数,我认为是函数的参数调用方面出了问题,但又找不到问题在哪,求各位大大帮忙解决下
程序代码在下面
Sub QXCZ(JN%, X!(), Y!(), U, f)
If U <= X(1) Then GoTo 200
If U > X(JN) Then GoTo 300
For J = 1 To JN - 1
If U > X(J) And U <= X(J + 1) Then GoTo 400
Next
GoTo 66
200 X1 = X(1)
X2 = X(2)
Y1 = Y(1)
Y2 = Y(2)
GoTo 6
300 X1 = X(JN - 1)
X2 = X(JN)
Y1 = Y(JN - 1)
Y2 = Y(JN)
GoTo 6
400 X1 = X(J)
X2 = X(J + 1)
Y1 = Y(J)
Y2 = Y(J + 1)
6 f = (Y2 - Y1) / (X2 - X1) * (U - X1) + Y1
66 End Sub
主程序里调用语句是这样的:
Call QXCZ(22, bati, s110, bat, s1)
bat1和s110是数组,数据如下:
bat1:0.5400,0.5600,0.5800,0.6000,0.6200,0.6400,0.6600,0.6800,0.7000,0.7200,0.7400,0.7600,0.7800,0.8000,0.8200,0.8400,0.8600,0.8800,0.9000,0.9200,0.9400,0.9600,
s110:0.0632,0.0649,0.0663,0.0677,0.0685,0.0704,0.0716,0.0728,0.0739,0.0750,0.0761,0.0771,0.0781,0.0790,0.0799,0.0808,0.0817,0.0825,0.0834,0.0841,0.0849,0.0856,
其中bat是输入的数,s1是我要插值得出的数,可是比如说我bat输入0.54,s1我插值出来的数就是6.319999999999999999,很无奈
谁能找到问题麻烦帮下忙谢谢
|
|