扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
VB的开2次方函数是SQR()。其他次开方可以使用指数函数Exp得到,如要计算x的开3次方:Exp(Log(x)/3)
创新互联公司专业为企业提供深泽网站建设、深泽做网站、深泽网站设计、深泽网站制作等企业网站建设、网页设计与制作、深泽企业网站模板建站服务,10多年深泽做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
Sqr 函数
返回一个 Double,指定参数的平方根。
语法
Sqr(number)
必要的 number 参数 number 是 Double 或任何有效的大于或等于 0 的数值表达式。
例子:
Dim MySqr
MySqr = Sqr(4) ' 返回 2。
MySqr = Sqr(23) ' 返回 4.79583152331272。
MySqr = Sqr(0) ' 返回 0。
MySqr = Sqr(-4) ' 生成一个运行时错误(负数不能用此函数开平方根)。
VB的运算顺序是:先乘除、后加减,有括号的先算括号内,有负号的先算负号。
请你比较一下这个运算中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)
这样就会发现,你的代码中括号的位置错了。
正确的应该是: Math.Sqrt((n + 1) / n - 1)
VB 有一个求平方根的函数,使用示例:
a = Sqr(数值)
以下摘自 VB 6.0 SP6 的对象浏览器中对 Sqr 函数的解释:
Function Sqr(Number As Double) As Double
VBA.Math 的成员
返回一个数的平方根
问题不是很简单吗?
判断输入的数,大于等于零,则直接开方;小于零则取绝对值开方再加上字符"i",代码我就不写了.
要用程序来开平方,首先你最起码要知道经过自己推导出来的公司,其次再是求精度,你说的nLength是要得到的10进制位数,这个不能给你保证,你得用一个小数位数来表达精度。假如你开一个非常大的数,你的整数部分就可能超过10位,更不要谈精度
方法是这样的:
x表示我要开的数,y表示结果,z是和开方后比较接近的数
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,我们任取这个范围的一个数,就取2.5,z=2.5
y=2.5+(5-2.5^2)/2.5*2=2.25
此时比较接近结果的值是2.25,即z=2.25
y=2.25+(5-2.25^2)/2.25*2=2.2361112
比较接近了,想要再精确,就再次循环
通过上面的举例,相信你已经发现了用循环来求精度
具体该怎么做,相信你已经知道了
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流