有現(xiàn)成函數(shù)sqr(100)返回10
公司主營(yíng)業(yè)務(wù):成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。成都創(chuàng)新互聯(lián)公司推出鐵東免費(fèi)做網(wǎng)站回饋大家。
如果是任意次開(kāi)方可以自己做一個(gè)函數(shù),先做一個(gè)連乘的乘方函數(shù),再做一個(gè)開(kāi)任意次方。因?yàn)殚_(kāi)方就是不斷的用連乘來(lái)試驗(yàn)的,如下
'定義連乘函數(shù),或者叫乘方Private?Function?lc(number,?n?As?Integer)Dim?myresultmyresult?=?1Dim?i?As?IntegerFor?i?=?1?To?n????myresult?=?myresult?*?numberNextlc?=?myresultEnd?Function????
12345678910111213141516171819202122????'開(kāi)任意次方Private?Function?Power(number?As?Double,?n?As?Integer)Dim?j?As?DoubleDim?myresult?As?Doublemyresult?=?0.0000001For?j?=?p?To?number?Step?0.00001????????????????????????????Dim?myNum?As?Double????myNum?=?lc(j,?n)????If?myNum?=?number?Then????myresult?=?j????Else????Exit?For????End?IfNextPower?=?myresultIf?lc(Int(Power)?+?1,?n)?=?number?ThenPower?=?Int(Power)?+?1ElsePower?=?myresultEnd?IfEnd?Function
調(diào)用示范:
MsgBox Power(28, 3)
private
sub
form_click()
dim
intflag
as
integer
dim
strnumber
as
string
dim
strmsg
as
string
strnumber
=
inputbox("輸入一個(gè)數(shù)")
msg$
=
"輸入的數(shù)是:"
+
strnumber
+
chr$(13)
+
chr(10)
+
"確認(rèn)是否正確"
intflag
=
msgbox(msg$,
36)
if
intflag
=
6
then
"sqr(";
strnumber;
")=";
sqr(val(strnumber))
else
"取消操作"
end
if
end
sub
private
sub
form_load()
autoredraw
=
true
"計(jì)算一個(gè)數(shù)的平方根"
"單擊窗體開(kāi)始"
end
sub
用一個(gè)標(biāo)輸出結(jié)果???
什么是標(biāo)啊,我用msgbox輸出的...你最后還謝絕,我真服了你的語(yǔ)言表達(dá)能力了
Private Sub Command1_Click()
'計(jì)算text1
If IsNumeric(Text1) Then
If CLng(Text1) 0 Then
MsgBox "text1 內(nèi)為負(fù)數(shù),不能開(kāi)方"
Else
MsgBox "text1 開(kāi)方結(jié)果:" Sqr(CDbl(Text1))
End If
Else
MsgBox "text1 內(nèi)不是數(shù)字"
End If
'計(jì)算text2
If IsNumeric(Text2) Then
If CLng(Text1) 0 Then
MsgBox "text2 內(nèi)為負(fù)數(shù),不能開(kāi)方"
Else
MsgBox "text2 開(kāi)方結(jié)果:" Sqr(CDbl(Text2))
End If
Else
MsgBox "text2 內(nèi)不是數(shù)字"
End If
End Sub
VB的運(yùn)算順序是:先乘除、后加減,有括號(hào)的先算括號(hào)內(nèi),有負(fù)號(hào)的先算負(fù)號(hào)。
請(qǐng)你比較一下這個(gè)運(yùn)算中x和y的值:
Dim n As Single = 4
Dim x As Single
Dim y As Single
x = n + 1
x = x / n
x = x - 1
x = Math.Sqrt(x)
y = Math.Sqrt((n + 1) / n - 1)
這樣就會(huì)發(fā)現(xiàn),你的代碼中括號(hào)的位置錯(cuò)了。
正確的應(yīng)該是: Math.Sqrt((n + 1) / n - 1)