Please advise if you know of a better way to optimize this "Is Integer" checking function:
Within it, the first check weeds out non-numeric values.
The second leverages CInt() which is not safe to pass non-numeric values to. So I am thinking I am forced into performing two checks.
Code:
Public Function datatypevalidation_IsInt(ByVal varNumber As Variant) As Boolean
On Error GoTo Err_datatypevalidation_IsInt
'Assume invalid data
datatypevalidation_IsInt = False
'General Numeric test
If Not IsNumeric(varNumber) Then
GoTo Exit_datatypevalidation_IsInt
End If
'Specific Interger datatype test
If CStr(varNumber) <> CStr(CInt(varNumber)) Then
GoTo Exit_datatypevalidation_IsInt
End If
'Checks out valid
datatypevalidation_IsInt = True
Exit_datatypevalidation_IsInt:
Exit Function
Err_datatypevalidation_IsInt:
Call errorhandler_MsgBox("Module: modshared_datatypevalidation, Function: datatypevalidation_IsInt()")
Resume Exit_datatypevalidation_IsInt
End Function
The second leverages CInt() which is not safe to pass non-numeric values to. So I am thinking I am forced into performing two checks.