我正試圖檢查給定的數字是否是cuberoot或不在VBA中。
以下代碼僅適用於2和3作爲答案,此後不起作用。
我想弄清楚代碼中出了什麼問題。檢查數字是否具有整數立方根
Sub cuberoot()
Dim n As Long, p As Long, x As Long, y As Long
x = InputBox("x= ")
If Iscube(x) Then
MsgBox ("Is cube")
Else
MsgBox ("No cube")
End If
End Sub
Private Function Iscube(a As Long) As Boolean
b = a^(1/3)
If b = Int(b) Then
Iscube = True
Else
Iscube = False
End If
End Function
如果我輸入'125',它是'5'的立方根,我正確地得到了'Is cube'的答案,即使你說它只適用於'2'和'3'。我想你應該明確什麼是輸入,輸出結果和輸出結果,以便我們理解你的意思。否則,我只能說_給你的描述,你的代碼應該很好地工作。 –
@MatteoNNZ沒有維b只要上面的代碼失敗,因爲int(b)返回4. – brettdj
@Apurva我希望你已經找到了你的問題的答案。如果是這樣,這裏習慣於接受爲您的問題提供最佳解決方案的答案。你可以閱讀更多關於[這裏](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)。 – stucharo