我有以下 Visual Basic for Applications 代码:
Function IsPrimeTrialDivision(number As Long) As Boolean
Dim i As Long
If number <= 1 Then
IsPrime = False
Exit Function
End If
For i = 2 To Sqr(number)
If number Mod i = 0 Then
IsPrime = False
Exit Function
End If
Next i
IsPrime = True
End Function
我正在 Excel 文档中使用它。逻辑看起来不错,但总是返回
FALSE
:
为什么不起作用?
看来您只是调用 Test() 函数。 在您的测试函数中使用以下内容
//Test = False
Test = isPrimeTrialDevision(number)
希望这能解决您的问题。
您会得到
False
函数结果,因为没有分配函数名称。因此返回值为 0,这意味着作为 Boolean
False
值。
要从函数返回值,在返回之前必须对确切的函数名称进行赋值。