padding longs

I am doing some math using longs which will yield numbers like 5, 10, 20, etc
but I always need to pad the result to be 3 digits.
What's the best way to do that?
dpalyca755Asked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

CPColinSenior Java ArchitectCommented:
Using zeros in a DecimalFormat will work:

new DecimalFormat("000").format(x);

Open in new window

wdosanjosCommented:
Use the DecimalFormat class.  Here is an example:
import java.text.*;

public class Test
{
    public static void main(String args[])
    {
        DecimalFormat formatter = new DecimalFormat("000");
        long nbr = 50;

        String fmt_nbr = formatter.format(nbr);

        System.out.println(fmt_nbr);
        
        /*
        
        Output:
        
        050
        
        */
     }
}

Open in new window

dpalyca755Author Commented:
Can I use the String Format method to do so?
What is the syntax if do so?
let's say the 5 I referenced earlier is stored in the variable myString.
CompTIA Security+

Learn the essential functions of CompTIA Security+, which establishes the core knowledge required of any cybersecurity role and leads professionals into intermediate-level cybersecurity jobs.

CPColinSenior Java ArchitectCommented:
Assuming you have a long, it would be something like this:

String.format("%03d", myLong);

Open in new window


The "0" means "pad with zeros," the "3" means "make the output three characters wide," and the "d" means "output a number."

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
dpalyca755Author Commented:
I can't compile that for some reason.
I tried that exact line too.
What am I doing wrong?

Code Snippet:
long c = 5;
String pad2 = String.format("%03d", c);        
---------------------------------------------------------------------------
Error:
test.java:51: cannot resolve symbol
symbol  : method format (java.lang.String,long)
location: class java.lang.String
             String pad2 = String.format("%03d", c);
                                 ^
1 error
CPColinSenior Java ArchitectCommented:
I've only seen that happen when using a version of Java older than 1.5 or when I've told the compiler to pretend like its from an old version of Java. Do you know if that's happening?
dpalyca755Author Commented:
Yup....I was accidentally pointing to an older version.
I fixed it.  Works now.
Thanks.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Java

From novice to tech pro — start learning today.