468,733 Members | 2,293 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 468,733 developers. It's quick & easy.

IsNumeric gives error

eje
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
Jul 21 '05 #1
8 2006
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

Jul 21 '05 #2
-----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 makesit 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

.

Jul 21 '05 #3
You should still always have option strict on.

You can either make the parameter an Object, or have several different
versions of the method, with each one having a parameter of a different type
(and then potentially have them all forwarded to one method that contains
all the actual logic).

Now, is what being passed here an actual string, or something else? Can you
reproduce this behavior by just calling IsNumeric from a little test program
and 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

.

Jul 21 '05 #4
Hi Eje,

That was what I was thinking however would let you give the answer.

As usuall would my answer have been almost the same as from Marina when I
had answered you before her, and therefore I add nothing to her answer.

:-)

Cor
Jul 21 '05 #5
:)

"Cor Ligthert" <no**********@planet.nl> wrote in message
news:uM***************@TK2MSFTNGP11.phx.gbl...
Hi Eje,

That was what I was thinking however would let you give the answer.

As usuall would my answer have been almost the same as from Marina when I
had answered you before her, and therefore I add nothing to her answer.

:-)

Cor

Jul 21 '05 #6
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
>
>
>.
>

.

Jul 21 '05 #7
Hi Anon,

Why not as this with option Strict On
See inline bellow

I hope this helps?

Cor

Option Strict On
'...

Public Function test() As Boolean
Dim indata As Object
Dim MyCheck As Boolean
indata = "53"
MyCheck = Numeric(indata.ToString) 'No problem
indata = "45 abc"
MyCheck = Numeric(indata.ToString) 'Still gives error
indata = "abc"
MyCheck = Numeric(indata.TosString) 'Still gives error
End Function Public Function Numeric(ByVal MyVar As String) 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 different
versions of the method, with each one having a parameter

of a different type
(and then potentially have them all forwarded to one

method that contains
all the actual logic).

Now, is what being passed here an actual string, or

something else? Can you
reproduce this behavior by just calling IsNumeric from a

little test program
and 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
>
>
>.
>

.

Jul 21 '05 #8
Hi cor,
If you still check this. I found the error. I had to
change an option in the menu Debug/Exceptions

Thanks for your help

Eje
-----Original Message-----
Hi Anon,

Why not as this with option Strict On
See inline bellow

I hope this helps?

Cor

Option Strict On
'...

Public Function test() As Boolean
Dim indata As Object
Dim MyCheck As Boolean
indata = "53"
MyCheck = Numeric(indata.ToString) 'No problem
indata = "45 abc"


MyCheck = Numeric(indata.ToString) 'Still gives

error
indata = "abc"
MyCheck = Numeric(indata.TosString) 'Still gives

error
End Function

Public Function Numeric(ByVal MyVar As String) 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 different
>versions of the method, with each one having a parameter
of a different type
>(and then potentially have them all forwarded to one

method that contains
>all the actual logic).
>
>Now, is what being passed here an actual string, or

something else? Can you
>reproduce this behavior by just calling IsNumeric
from a little test program
>and 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
>> >
>> >
>> >.
>> >
>
>
>.
>

.

Jul 21 '05 #9

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

3 posts views Thread by DCM Fan | last post: by
4 posts views Thread by Eugene Anthony | last post: by
14 posts views Thread by Kenny | last post: by
10 posts views Thread by crowl | last post: by
3 posts views Thread by martin | last post: by
3 posts views Thread by Radith Silva | last post: by
10 posts views Thread by michele | last post: by
8 posts views Thread by eje | last post: by
1 post views Thread by CARIGAR | last post: by
reply views Thread by zhoujie | last post: by
xarzu
2 posts views Thread by xarzu | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.