gpt4 book ai didi

excel - 为什么 cells(1,1) = 500 * 100 会导致溢出,而​​ 50000*100 不会?

转载 作者:行者123 更新时间:2023-12-01 16:20:26 24 4
gpt4 key购买 nike

我刚刚创建了一个简单的子程序,但它给出了溢出错误。但是,我没有发现代码有任何问题,而且这真的很奇怪,因为 50000*100500*100 大得多。

sub add()
'This will cause an overflow error
cells(1,1) = 500 * 100
'But this won't
cells(2,2) = 50000 * 100
end sub

最佳答案

考虑:

Sub add()
'This works:
Cells(1, 1) = CLng(500) * 100
'as does this:
Cells(2, 2) = 50000 * 100
End Sub

显然,VBA 选择了默认类型 Integer对于第一个表达式,因为该类型足够大,可以容纳右侧的文字。 50000 对于 Integer 来说太大了所以它将其解释为 LongCLng显式触发晋升至 Long

关于excel - 为什么 cells(1,1) = 500 * 100 会导致溢出,而​​ 50000*100 不会?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31816396/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com