VB的運算順序是:先乘除、后加減,有括號的先算括號內(nèi),有負號的先算負號。
創(chuàng)新互聯(lián)專注于掇刀網(wǎng)站建設服務及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供掇刀營銷型網(wǎng)站建設,掇刀網(wǎng)站制作、掇刀網(wǎng)頁設計、掇刀網(wǎng)站官網(wǎng)定制、微信小程序服務,打造掇刀網(wǎng)絡公司原創(chuàng)品牌,更為您提供掇刀網(wǎng)站排名全網(wǎng)營銷落地服務。
請你比較一下這個運算中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)
這樣就會發(fā)現(xiàn),你的代碼中括號的位置錯了。
正確的應該是: Math.Sqrt((n + 1) / n - 1)
要用程序來開平方,首先你最起碼要知道經(jīng)過自己推導出來的公司,其次再是求精度,你說的nLength是要得到的10進制位數(shù),這個不能給你保證,你得用一個小數(shù)位數(shù)來表達精度。假如你開一個非常大的數(shù),你的整數(shù)部分就可能超過10位,更不要談精度
方法是這樣的:
x表示我要開的數(shù),y表示結(jié)果,z是和開方后比較接近的數(shù)
y=z+(x-x^2)/2*z
也許你還不太明白,具體舉例來說明
sqr(x)代表開x,即根號x,這個符號不太好打
假如我開5,即求根號5的值
5比4大sqr(4)=2,sqr(9)=3,9比5大,即459,所以2sqr(5)3,我們?nèi)稳∵@個范圍的一個數(shù),就取2.5,z=2.5
y=2.5+(5-2.5^2)/2.5*2=2.25
此時比較接近結(jié)果的值是2.25,即z=2.25
y=2.25+(5-2.25^2)/2.25*2=2.2361112
比較接近了,想要再精確,就再次循環(huán)
通過上面的舉例,相信你已經(jīng)發(fā)現(xiàn)了用循環(huán)來求精度
具體該怎么做,相信你已經(jīng)知道了
Sqr 函數(shù)
返回一個 Double,指定參數(shù)的平方根。
語法
Sqr(number)
必要的 number 參數(shù) number 是 Double 或任何有效的大于或等于 0 的數(shù)值表達式。
例子:
Dim MySqr
MySqr = Sqr(4) ' 返回 2。
MySqr = Sqr(23) ' 返回 4.79583152331272。
MySqr = Sqr(0) ' 返回 0。
MySqr = Sqr(-4) ' 生成一個運行時錯誤(負數(shù)不能用此函數(shù)開平方根)。