Number format (ex: 5 as 00005)

M

m

Hi All

Can you please tell me a way in which I can display a number with
leading 0's. The total length of the number will be 5 digits.

Ex: 5 as 00005, 25 as 00025, 125 as 00125 etc.
I have a sequence which goes from 1 to a max of 99999.

I know I can do it like this ..
If (length(number)==1) { "0000"+number}
else if (length(number)==2) { "000"+number}

I am looking for any better solution. I use jdk1.5.0

Thanks
 
?

=?ISO-8859-1?Q?Arne_Vajh=F8j?=

m said:
Can you please tell me a way in which I can display a number with
leading 0's. The total length of the number will be 5 digits.

Ex: 5 as 00005, 25 as 00025, 125 as 00125 etc.
I have a sequence which goes from 1 to a max of 99999.

I know I can do it like this ..
If (length(number)==1) { "0000"+number}
else if (length(number)==2) { "000"+number}

I am looking for any better solution. I use jdk1.5.0

In Java 1.5 you should look at printf.

Example:

int v = 123;
System.out.printf("%05d", v);

It can also be used in other contexts than
System.out !

Arne
 
D

djthomp

Hi All

Can you please tell me a way in which I can display a number with
leading 0's. The total length of the number will be 5 digits.

Ex: 5 as 00005, 25 as 00025, 125 as 00125 etc.
I have a sequence which goes from 1 to a max of 99999.

I know I can do it like this ..
If (length(number)==1) { "0000"+number}
else if (length(number)==2) { "000"+number}

I am looking for any better solution. I use jdk1.5.0

Thanks

I'd suggest taking a look at String.format
http://java.sun.com/j2se/1.5.0/docs...format(java.lang.String, java.lang.Object...)
 
M

Mark Jeffcoat

m said:
Hi All

Can you please tell me a way in which I can display a number with
leading 0's. The total length of the number will be 5 digits.

Ex: 5 as 00005, 25 as 00025, 125 as 00125 etc.
I have a sequence which goes from 1 to a max of 99999.

I know I can do it like this ..
If (length(number)==1) { "0000"+number}
else if (length(number)==2) { "000"+number}

I am looking for any better solution. I use jdk1.5.0

Well, if you interpret the number as a String
(e.g., Integer.toString()), and remember that the
String has a length(), you can calculate the number of
leading 0's you need make the total length() == 5.
 
M

m

Thanks for this.. Looks great.
int v = 123;
System.out.printf("%05d", v);

can you please tell me how I can use in other context , like if I want
to concat another string to it.
Ex: 00123abcd
How can I add another string which has "abcd" and assign 00123abcd to a
string variable.
 
M

m

solved like this

import java.text.DecimalFormat;
import java.text.NumberFormat;

public class numberfor{

public static void main (String[] args){
int v = 123;
//System.out.printf("%05d", v);
NumberFormat formatter = new DecimalFormat("00000");
String s = formatter.format(v);
System.out.println(s);

}

}
 
?

=?ISO-8859-1?Q?Arne_Vajh=F8j?=

m said:
can you please tell me how I can use in other context , like if I want
to concat another string to it.
Ex: 00123abcd
How can I add another string which has "abcd" and assign 00123abcd to a
string variable.

The following should show some of the possibilities:

import java.io.*;

public class Fmt {
public static void main(String[] args) throws IOException {
int v = 123;
System.out.printf("%05d\n", v);
System.out.printf("%05dxyz%s\n", v, ".");
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
pw.printf("%05dxyz%s", v,".");
pw.close();
String s = sw.toString();
System.out.println(s);
PrintWriter pwf = new PrintWriter(new FileWriter("C:\\z.txt"));
pwf.printf("%05dxyz%s", v,".");
pwf.close();
String sf = String.format("%05dxyz%s", v,".");
System.out.println(sf);
}
}

Arne
 
P

Paul Hamaker

DecimalFormat dfm = new DecimalFormat("00000");
String s1 = dfm.format(number);
String s2 = "abcd" ;
String s3 = s1 + s2 ;
 
R

Robert Mabee

Mark said:
Well, if you interpret the number as a String
(e.g., Integer.toString()), and remember that the
String has a length(), you can calculate the number of
leading 0's you need make the total length() == 5.

Or let the computer calculate that for you:
String tmp = "0000" + number; // more 00 harmless
return tmp.substring (tmp.length - 5);
 
P

Patricia Shanahan

m said:
Hi All

Can you please tell me a way in which I can display a number with
leading 0's. The total length of the number will be 5 digits.

Ex: 5 as 00005, 25 as 00025, 125 as 00125 etc.
I have a sequence which goes from 1 to a max of 99999.

I know I can do it like this ..
If (length(number)==1) { "0000"+number}
else if (length(number)==2) { "000"+number}

I am looking for any better solution. I use jdk1.5.0

Thanks

Although all the suggested methods work for the particular case of 1
through 99999, in general I would avoid the manual methods and stick
with using either printf or a DecimalFormat.

Both automate reasonable handling of more general cases, such as
negative numbers and numbers that are greater than 99999, without
dropping information. You are likely to need to use the supplied methods
for some cases, so why not learn and use them even when you could do it
manually without too many special cases?

Patricia
 
T

trippy

m said:
Hi All

Can you please tell me a way in which I can display a number with
leading 0's. The total length of the number will be 5 digits.

Ex: 5 as 00005, 25 as 00025, 125 as 00125 etc.
I have a sequence which goes from 1 to a max of 99999.

I know I can do it like this ..
If (length(number)==1) { "0000"+number}
else if (length(number)==2) { "000"+number}

I am looking for any better solution. I use jdk1.5.0

Thanks

public String pimpMyNumber(int aNumber) {

DecimalFormat df = new DecimalFormat("000,000");
StringBuffer sb = df.format(aNumber);
return sb.toString();

}

--
trippy
mhm31x9 Smeeter#29 WSD#30
sTaRShInE_mOOnBeAm aT HoTmAil dOt CoM

NP: "All I Really Want" -- Alanis Morissette

"Now, technology's getting better all the time and that's fine,
but most of the time all you need is a stick of gum, a pocketknife,
and a smile."

-- Robert Redford "Spy Game"
 

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

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,483
Members
44,901
Latest member
Noble71S45

Latest Threads

Top