请再帮一下:大数开方

来源:百度知道 编辑:UC知道 时间:2024/06/21 18:32:42
要求:输入一个很长的数字(整数或小数),能求出它的平方根,如果输入的不是完全平方数,就保留20位小数。
用SQR函数的免开尊口。谢谢。
不要用Sqr函数,对于一个上百位的数来说,Sqr只会得出一个带科学计数的结果,对我来说一点用都没有,我要的是具体的结果。比如:1606938044258990275541962092341162602522202993782792835301376的平方根是1267650600228229401496703205376,而Sqr的结果是1.26765060022823E+30,不符合我的要求。

我有源码。发给你,看看吧。

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) ' 生成一个运行时错误(负数不能用此函数开平方根)。

Private Sub Command1_Click()
Text2.Text = Format(Sqr(Text1.Text), "#.######")
End Sub

哎,可惜呀,我编了个C语言开平方的改改就行了,不过我那个功能是保留小数位是任意的,比如小数点后100万位。
呵呵。

使用MIRACL库!(C、C++语言可以使用)