Link to home
Start Free TrialLog in
Avatar of mnorma12
mnorma12

asked on

What is the equivalent of the strtoul routine in VB?

I am porting a routine from C to VB and have everything done except I need a way of simulating the C strtoul routine. This routine converts a string to an unsigned long.

I've done quite a bit in VB but this is over my head.
Avatar of Mikal613
Mikal613
Flag of United States of America image

LongToUnsigned(clng(yourval))
or

LongToUnsigned(clng(val(yourval)))
SOLUTION
Avatar of ___XXX_X_XXX___
___XXX_X_XXX___

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of g0rath
g0rath

LONG in VB = -2,147,483,647 to 2,147,483,647
DOUBLE in VB = 4.94065645841247E-324 to 1.79769313486232E308 and stored as IEEE 64-bit 8 byte numbers

there isn't a "real" unsigned long int in VB, your more or less just typecasting to something larger that just so happens to hold those values. Just be warned if this is necessary for file I/O as it's 8 bytes not 4 in case that is an issue
Yes, g0rath is right, but Long type in VB is only "native" type in VB that is integer and big enough to hold 2^32 values (half negative and other positive) and it is close enough to unsigned long in C.
Mathematical operation with Long variable will result in Long variable (integer).
If you use Double value type, these 64 bits can't contain all 1.79*10^308 values and mathematical operations with it can contain non-exact results, but may contain values larger than 2^31 (the upper bound for Long variables).

If you don't want to make non-integer mathematical operations with Long variable, it will suits your needs in interval -2^31 to +2^31.
Shkoach
"Shkoach" ???
Avatar of mnorma12

ASKER

Sorry it's taken me so long to get back to you guys. I've been away from my computer since yesterday afternoon. I'll give a few of these a try and get back to you.

Thanks
The expression I am needing to duplicate is

ZoneNumber=strtoul(UTMZone, &ZoneLetter, 10)

What would this look like in Vb?
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thanks guys that wasn't as hard as I thought it might be. When I went through and read a summary of the strtoul routine I just got more confused. Anyways great work!