"000" reverts back to "0" even with a string

P

Philosophaie

I want to have a 4 digit number in all cases but some have 0 thru 3.

This is how I attempted to solve it:

dim x(3) as string
x(1)=234
x(2)=67
x(3)=5
If Len(x(m)) = 1 Then x(m) = 000 & x(m)
If Len(x(m)) = 1 Then x(m) = 00 & x(m)
If Len(x(m)) = 1 Then x(m) = 0 & x(m)
the problem is when you enter "000" in for the result it automatically
reverts back to "0"
 
J

Jim Cone

They ain't strings until you make them strings...
If Len(x(m)) = 1 Then x(m) = "000" & x(m)
If Len(x(m)) = 1 Then x(m) = "00" & x(m)
If Len(x(m)) = 1 Then x(m) = "0" & x(m)
--
Jim Cone
Portland, Oregon USA
( http://www.mediafire.com/PrimitiveSoftware )




"Philosophaie" <[email protected]>
wrote in message I want to have a 4 digit number in all cases but some have 0 thru 3.
This is how I attempted to solve it:

dim x(3) as string
x(1)=234
x(2)=67
x(3)=5
If Len(x(m)) = 1 Then x(m) = 000 & x(m)
If Len(x(m)) = 1 Then x(m) = 00 & x(m)
If Len(x(m)) = 1 Then x(m) = 0 & x(m)
the problem is when you enter "000" in for the result it automatically
reverts back to "0"
 
R

Rick Rothstein

Don't use a series of If..Then tests (by the way, the numbers you are
testing against should be 1, 2, 3 and not 1, 1, 1), use the Format function
instead. For all your cases, use this single statement...

x(m) = Format(x(m), "0000")
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top