vba求10的阶乘为什么要dim变量为double

vba求10的阶乘为什么要dim变量为double,第1张

因为10的阶乘是 3628800 interger 不够长,用long 其实也可以,

双精度浮点 DOUBLE 存储的位最长,估计是这方面考虑,所以就DOUBLE了,当然阶乘永远不可能出现 小数

没有任意数的,EXCEL中到175以后就已经非常大了,溢出错误

你是不是要在ACCESS中做个自定义函数求

Public Function fac(x As Long)

fac = 1

For i = 1 To x

fac = fac i

Next i

End Function

我这里没有帮你加错误判断进去,数值太大就会溢出的

Private Sub CommandButton1_Click()

Dim a, b1, b2, i, tmp

Set b1 = MeTextBox1

Set b2 = MeTextBox2

a = b1Text

If Len(a) = 0 Then tmp = "#Len = 0": GoTo 1000

If Not IsNumeric(a) Then tmp = "#Not Is Number": GoTo 1000

a = a 1

If Int(a) <> a Then tmp = "#not Integer": GoTo 1000

If a < 1 Or a > 9 Then tmp = "#" & IIf(a < 1, "<1", ">9"): GoTo 1000

tmp = a

For i = a - 1 To 2 Step -1

tmp = tmp i

Next

1000:

b2Text = tmp

End Sub

Dim s As Long, nn As Long, i As Integer

s = 0: nn = 1

For i = 1 To 10

nn = nn i

s = s + nn

Next i

MsgBox ("1!+2!+3!++10!=" & s)

以上就是关于vba求10的阶乘为什么要dim变量为double全部的内容,包括:vba求10的阶乘为什么要dim变量为double、ACCESS中如何用VBA模块编写任意数的阶乘、VBA代码编写,在窗体的文本框TextBox1中输入不大于9的整数,然后计算其阶乘后在文本框TextBox2中输出等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9721766.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存