result = number1 Mod number2不管 result 是否为一个整数,result 的数据类型为 Byte,Byte 变体、Integer、Integer 变体、Long 或一个包含 Long 的 Variant。任何小数部分都被删除。也就是说 Mod 的结果缓冲区不超过 Long 类型长度,否则溢出。自己写一个长整数除法,被除数的余数部分很容易得到。
这么大的阿数就不要用mod了,用回基本的阿操作吧 Private Sub Form_Click() Dim a As Double Dim b As Double Dim c As Double a = 99999999999998# b = 9999999 c = a - Int(a / b) * b Debug.Print c End Sub
Private Sub Form_Click()
Dim a As Double
Dim b As Double
Dim c As Double
a = 99999999999998#
b = 9999999
c = a - Int(a / b) * b
Debug.Print c
End Sub