1

I want to generate a String with 11 digits from an ID.
For example: an account with an ID=12 would give 00000000012

And after that I need to retrieve this id from the string.

For example: a string with 00000000022 give an ID=22

1
  • Why do the ids need to be the same length? Commented Feb 25, 2012 at 4:01

2 Answers 2

7

To format the string, use String.format:

int n = 123;
String.format("%011d", 123);
// ===> 00000000123

To get the number back from string, use Integer.parseInt:

Integer.parseInt("00000000123");
// ====> 123
Sign up to request clarification or add additional context in comments.

Comments

0

As mentioned in the other answer from String to int use Integer.parseInt()

However, for creating the String I would suggest:

for(int x=0;x<10;x++){
    thestring="0"+thestring;
}

replace 10 with how many zeros you need.

Also you could just use java.text.DecimalFormat, your choice.

Or combine both:

int lengthID=10;
String zeros="";
for(int x=0;x<lengthID;x++){
    zeros="0"+zeros;
}
java.text.DecimalFormat id=new java.text.DecimalFormat(zeros);

1 Comment

thestring="0"+thestring; is very costly

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.