VB的運(yùn)算順序是:先乘除、后加減,有括號(hào)的先算括號(hào)內(nèi),有負(fù)號(hào)的先算負(fù)號(hào)。
為頭屯河等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及頭屯河網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、頭屯河網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
請(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)
問(wèn)題不是很簡(jiǎn)單嗎?
判斷輸入的數(shù),大于等于零,則直接開(kāi)方;小于零則取絕對(duì)值開(kāi)方再加上字符"i",代碼我就不寫了.
有現(xiàn)成函數(shù)sqr(100)返回10
如果是任意次開(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
把你定義的函數(shù)中的這句
squareroot
=
Sqr(n)
改成
squareroot
=
Sqr(x)
變量用錯(cuò)了。呵呵
在VB6中,沒(méi)有名為Sqrt()函數(shù)或子過(guò)程;只有Math.Sqr(...)函數(shù)!
函數(shù) Math.Sqr(x)求一個(gè)數(shù)x的平方根。這個(gè)函數(shù)中
x≥0
所得結(jié)果(根)為Double類型
舉例如下:
Dim?root?As?Double
root?=?Math.Sqr(10)
MsgBox?"10的平方根為:"?+?CStr(root)
如果試圖求一個(gè)負(fù)數(shù)的平方根引發(fā)錯(cuò)誤:
當(dāng)前文章:vb.net求平方根 vb語(yǔ)言中,用于計(jì)算平方根的函數(shù)是
當(dāng)前路徑:http://chinadenli.net/article18/hpeggp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、品牌網(wǎng)站設(shè)計(jì)、軟件開(kāi)發(fā)、網(wǎng)站策劃、網(wǎng)站排名、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)