我创建了一个名为length
的新函数,用于测试字符数和显示错误结果"如果计数大于5。
但是,函数的结果是#NUM
!如果测试是5个字符或更少,则显示结果。
有什么问题?
Function length (number as integer)
If ( Len (CStr (number)) > 5 ) then
length = "error"
End if
If ( Len (Cstr (number)) <6) then
length = "the count is true"
End if
End Function
答案 0 :(得分:6)
由于数据类型的性质,这将发生。更准确地说,您的功能将适用于最高为32,767的值。在此之上,它将返回#NUM,因为number
不再适合你强制它的整数。
如果您将number
定义为Long
数据类型,它将处理最多包括2,147,483,647的值。
有关Integer
和Long
之间差异的更详细说明,您可以在此帖子上阅读RubberDuck的答案:Why Use Integer Instead of Long?