Thanks for helping me Marina and Cor.
First to answer your question, Marina. In my actual
application the passed values are strings. I import
textfiles with delimiter separated records and have to
check every value before I pass the values on to the
database.
I made the following tests (See my comments in the
function Test):
Option Strict On
'...
Public Function test() As Boolean
Dim indata As Object
Dim MyCheck As Boolean
indata = "53"
MyCheck = Numeric(indata) 'No problem
indata = "45 abc"
MyCheck = Numeric(indata) 'Still gives error
indata = "abc"
MyCheck = Numeric(indata) 'Still gives error
End Function
Public Function Numeric(ByVal MyVar As Object) As
Boolean
Dim MyCheck As Boolean
MyCheck = IsNumeric(MyVar)
Return MyCheck
End Function
Compare this example from the Help:
Dim MyVar As Object
Dim MyCheck As Boolean
' ...
MyVar = "53" ' Assign value.
MyCheck = IsNumeric(MyVar) ' Returns True.
' ...
MyVar = "459.95" ' Assign value.
MyCheck = IsNumeric(MyVar) ' Returns True.
' ...
MyVar = "45 Help" ' Assign value.
MyCheck = IsNumeric(MyVar) ' Returns False.
-----Original Message-----
You should still always have option strict on.
You can either make the parameter an Object, or have
several differentversions of the method, with each one having a parameter
of a different type(and then potentially have them all forwarded to one
method that containsall the actual logic).
Now, is what being passed here an actual string, or
something else? Can youreproduce this behavior by just calling IsNumeric from a
little test programand passing it in some string that cannot be converted
to a numeric?
<an*******@discussions.microsoft.com> wrote in message
news:27*****************************@phx.gbl... >-----Original Message-----
Hi Cor
I want to validate a value of unknown datatype. That's
why I can't use Option Strict On
Eje
>Hi Eje,
>
>You can set Option Strict On to solve this problem, I
think that that makes >it probably direct clear to you.
>
>Cor
>
>
>> IsNumeric(value) should return false if value "can
not be >> successfully converted to a Double." Instead I get
the >> following error message: "Input string was not in a
>> correct format."
>>
>> I use the following function in a validating class
to use >> when needed. (Value = H880118A gave the error (like
>> other 'unconvertible' strings))
>>
>> Public Function Numeric(ByVal value) As Boolean
>> If CType(value, String).Length = 0 Then
>> m_msg = "Value is empty"
>> Return False
>> End If
>> If IsNumeric(value) Then
>> Return True
>> Else
>> m_msg = "Value isn't numeric"
>> Return False
>> End If
>>
>> End Function
>>
>> What to do?
>> Eje
>
>
>.
>
.