2012-02-20 92 views
3

我想将另一个DecimalyDecimal类型的变量x除以得到整数结果,但我得到一个溢出错误。使用十进制数据类型的VBA整数除法

Dim a As Variant 
Dim b As Variant 

a = CDec(129801938493) 
b = CDec(9385029380) 

a = a \ b 

显然,\运营商要挟其参数的数据类型Long。有没有办法使用Decimal做整数除法(或模除法)?

+0

请注意,您的示例演示了[integer division](http://en.wikipedia.org/wiki/Integer_division#Division_of_integers),而不是[modulo](http://en.wikipedia.org/wiki/Modulo_operation)。我相应地修复了你的头衔。 – 2012-02-21 07:52:12

+0

@ Jean-FrançoisCorbett,谢谢。对于我正在使用的算法,无论是整数除法还是模数除法都是必需的。 – Joe 2012-02-21 16:42:02

回答

4
a = Int(a/b) 

Int函数会截断,所以应该和“\”一样工作。