首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

一个自定义函数的有关问题

2012-01-16 
一个自定义函数的问题一个函数的问题我的一个自定义函数:Functiondl(HSX!,HSY!,CZX!,CZY!,AAsByte)AsDoubl

一个自定义函数的问题
一个函数的问题我的一个自定义函数:
Function   dl(HSX!,   HSY!,   CZX!,   CZY!,   A   As   Byte)   As   Double
dl   =   Sqr((HSX   -   CZX)   ^   2   +   (HSY   -   CZY)   ^   2)  
End   Function

在立即窗口运行如下:
HSX=2722434.164
CZX=2722821.531
HSY=509845.434
CZY=510114.821
?Sqr((HSX   -   CZX)   ^   2   +   (HSY   -   CZY)   ^   2)
471.828939826776               '用公式计算的结果
?dl(VAL(HSX),VAL(HSY),   VAL(CZX),   VAL(CZY),1)
471.726036089805               ‘用函数计算的结果,与公式计算的结果不一样!!??

真是见鬼了,明明变量值跟计算公式一样,结果却不一样,请高人指点一二。

又有,当去掉HSX,CZX的百万位数后,自定义函数的结果又变了(公式计算的也变了一点点),这是怎么回事????
这只是求两组差的平方和的平方根,这两组差值总是不变的,公式跟函数怎么会有变化??
HSX=722434.164
CZX=722821.531
HSY=509845.434
CZY=510114.821
?Sqr((HSX   -   CZX)   ^   2   +   (HSY   -   CZY)   ^   2)
471.828939826681  
    ?dl(VAL(HSX),VAL(HSY),   VAL(CZX),   VAL(CZY),1)
471.777345027556


[解决办法]
为什么是:dl(VAL(HSX),VAL(HSY), VAL(CZX), VAL(CZY),1) ??
改用:dl(HSX,HSY, CZX, CZY,1)试试看
[解决办法]
把有变量都定义成 Double 型。

热点排行