我用vb设计了一个计算π的程序,怎么能让电脑多显示几位?

电脑只能显示小数点后十几位,我想让它多输出几位。要用割圆法!!!... 电脑只能显示小数点后十几位,我想让它多输出几位。
要用割圆法!!!
展开
 我来答
百度网友bdb9803
2011-04-29 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1.1万
采纳率:53%
帮助的人:1亿
展开全部
Option Explicit

Private Sub Command1_Click()
getpi CLng(InputBox("生成多少位数(1-50000)的PI?", "提示", 5000))
End Sub

Sub getpi(Optional ByVal nums As Long = 10000)
nums = nums \ 5
Dim max As Long, laptime As Single, result() As String

Dim i, j As Long, d As Long, t, g, r, k As Long, f()
laptime = Timer
max = 10 * nums
ReDim f(1 To max)
ReDim result(nums)
result(0) = vbCrLf
For i = 1 To max
f(i) = 30000
Next

For j = max To 1 Step -10
t = 0

For i = j To 1 Step -1
If j = max Then
t = t + f(i) * 1000000
Else
t = t + f(i) * 100000
End If
r = 8 * i * (2 * i + 1)

f(i) = t - Int(t / r) * r
d = 2 * i - 1
t = Int(t / r) * d * d
Next
k = k + 1
result(k) = Format(Int(g + t / 100000) Mod 100000, "00000")
If k Mod 20 = 0 Then result(k) = result(k) & vbCrLf
If k Mod 200 = 0 Then result(k) = result(k) & "---[" & k * 5 & "]---" & vbCrLf
g = t Mod 100000
Next
Text1.Text = Join(result, " ")
Me.Caption = "计算完毕!总计用时" & Timer - laptime & "秒!"
End Sub
百度网友6ae155a
2011-04-29 · TA获得超过121个赞
知道答主
回答量:28
采纳率:0%
帮助的人:37.6万
展开全部
用高精度算法。
算法代码比较复杂,但理论上算到任意位。网上有详细介绍。
追问
给个网址
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zxcvbnm12pk
2011-04-29 · TA获得超过156个赞
知道小有建树答主
回答量:127
采纳率:0%
帮助的人:95.2万
展开全部
汗...format(text1.text, "0.00000000000000000000000000000000000000000000000000000")
这样会怎样??我也没试过呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
先刻骨后铭心
2020-11-15
知道答主
回答量:1
采纳率:0%
帮助的人:545
展开全部
求代码,谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式