请教VB高手一个查询的问题

来源:百度知道 编辑:UC知道 时间:2024/06/15 22:57:15
是这样的,比如:a=1,b=2.0;a=2 b=3.8;a=3,b=2.6等很多一一对应的数,现在我知道a的值,当然a不一定为整数,比如a=1.5,则取线性插值b=2.9。这样的程序怎么实现呢?开始我是这样想的:
if a=1 then
b=2
elseif a>1 and a<2 then
b=插值
等等

我想这样有很多数,如用if then判断的话,则程序很长,有没有好的方法吗?

1、a,b的值保存到二维数组
DIM C(N,2) AS DOUBLE
n是数据个数,有多少对数据n就等多少

2、编程实现线性插值算法,很简单,实在不懂上网找程序

a做一个数组,b做一个数组,元素一一对应.
在A中查找你要找的数,记住位置,在b中的同一位置处的数就是你要的.

应该可以先对你输入的数字进行判断,可以用VB取整,然后判断小数部分是否大于0,是则为插值否则为整数应该就可以解决了吧。
你试一下看吧。
函数的话可以用下面的函数

CInt 不同于 Fix 和 Int 函数删除数值的小数部分,而是采用四舍五入的方式。 当小数部分正好等于 0.5 时, CInt 总是将其四舍五入成最接近该数的偶数。例如, 0.5 四舍五入为 0, 以及 1.5 四舍五入为 2.