我有一个错误,我不明白为什么
我有一个我没有碰过的功能(没有错误)现在它没有工作...... 我的功能刚刚上线
我尝试了函数CDbl()并使用了double类型变量
我收到溢出错误
编号= 1341.0937961001
NbDecimal = 2
Function Truncate(Number As Double, NbDecimal As Integer) As Double
Truncate = Int(Number * 10 ^ NbDecimal) / (10 ^ NbDecimal)
End Function 'Error here : Overflow
我需要帮助
答案 0 :(得分:1)
当Number * 10 ^ nbDecimal超过32767时会溢出,因为VBA的最大数字将存储在一个整数中。
实际上我错了:如果你使用CInt()而不是Int()
,它只会溢出答案 1 :(得分:0)
要添加Charles Williams所说的内容,您可能希望将数据类型更改为Long。