Saturday, February 25, 2012

Simple function java String to Int / Reverse


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



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



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

3 comments:

  1. 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

    ReplyDelete
  2. Depending on how many leading zeroes:

    int id = 12;
    String number = "000000000" + id;


    To get the int back:

    Integer.parseInt(number)

    ReplyDelete
  3. 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);

    ReplyDelete