你的函数没有返回值!
Public Function mdPrecisionBy1(strength As Double, d As Integer) as string 'd=1
Dim Rstrength As Double
Dim dk As Double
Dim k As Integer
Dim x As Integer
k = 10 ^ d
Rstrength = Int((strength * k) / k)
dk = (strength - Rstrength) * k
Select Case dk
Case dk < 0.5
x = 0
Case dk > 0.5
x = 1
Case dk = 0.5
If (ky1 * k0) Mod 2 = 1 Then
x = 1
Else
x = 0
End If
End Select
mdPrecisionBy1 = str(Rstrength + x / k)
End Function
这样应该可以了。但你这个函数的算法好象有问题,返回值不一定是你想要的。
Public Function mdPrecisionBy1(strength As Double, d As Integer) as string 'd=1
Dim Rstrength As Double
Dim dk As Double
Dim k As Integer
Dim x As Integer
k = 10 ^ d
Rstrength = Int((strength * k) / k)
dk = (strength - Rstrength) * k
Select Case dk
Case dk < 0.5
x = 0
Case dk > 0.5
x = 1
Case dk = 0.5
If (ky1 * k0) Mod 2 = 1 Then
x = 1
Else
x = 0
End If
End Select
mdPrecisionBy1 = str(Rstrength + x / k)
End Function
这样应该可以了。但你这个函数的算法好象有问题,返回值不一定是你想要的。
解决方案 »
- 怎样在VB里用ADO还原SQL数据库?
- 如何获得listview的滚动条的值
- 这个控件TABWeb1怎么把右键菜单改成自己的右键菜单???
- 请教高手!分数不是问题。我在vb的form中插入一个ocx,却不能调用它的某几个方法,报错为:Method 'ReadFolderProperties' of object '_D
- VB怎么跟远程ACCESS连接?
- 关于vb程序的安装
- 60分求助:如何将Word文件存到数据库(DB2)中?
- 关于ORACLE的问题我在专栏里问了可没有人回答只好在这里问了
- 如何查找字符串子串?如何替換字符串子串??
- 怎样在vb程序中使用并打印Access97报表?
- 再发一次吧!!关于ListBox.Selected(X)的问题?
- 急用!!!VB的ADO程序错误,请各位解决。
Case Is < 0.5
x = 0
Case Is > 0.5
x = 1
Case 0.5
If (ky1 * k0) Mod 2 = 1 Then
x = 1
Else
x = 0
End If
End Select
Public Function mdPrecisionBy1(strength As Double, d As Integer)正确的:
Public Function mdPrecisionBy1(strength as Double d As Integer) as Double 其实我的只不过比你的代码,在后面多了一个 "as Double "而己,这样的话,你的函数就可以返回值了。
错误的:
strength = Rstrength + x / k正确的:
mdPrecisionBy1= Rstrength + x / k其实就是将strength 改成你的函数名:mdPrecisionBy1