Duvida de formatar um numero pra String

Folks,

como posso fazer para converter um numero para string colocando zeros
a esquerda.

O que tenho :

150

e como tem que ficar

000000150

o tamanho que tem que ficar é de 9 posições …

Se alguém puder me ajudar agradeceria…

abs

Uma solução, talvez apareça outra melhor.

Para converter um int para String:

String con.valueOf(var_do_numero);

adicionar zeros:

String numFormatado = (" 000000" + con);

como é String vc não soma, concatena.

Solução já dada no forum.

[code]int i = 150;

String r = String.format("%09d", i);[/code]

String addZeros(String str){
    while(str != null && str.length() < 9)
        str = "0" + str;
    
    return str;
}

O melhor jeito que eu vejo:

int i = 150;  

String r = String.format("%09d", i);  

Cuidado com POG!

valeu…escolhi a ultima opção …valeu

  /** 
     * Formata um numero em String colocando zeros a esquerda conforme passado via parametro
     * Recebe atributo numero e atributo CasaEsquerda qtde zero a esquerda do numero  
     * @return String variavel formatada com zero(s) a esquerda 
     */
     */
public static String zeroEsquerda( int numero , int casaEsquerda){
      String formato ="";
      String resultado ="";
      Integer[] i = new Integer[1];
 	  i[0] = new Integer(numero);

 	  try{
    		
    		if (casaEsquerda == 1){
    			formato="%01d";	
    		}else if (casaEsquerda == 2){
    			formato="%02d";	
    		}else if (casaEsquerda == 3){
    			formato="%03d";	
    		}else if (casaEsquerda == 4){
    			formato="%04d";	
    		}else if (casaEsquerda == 5){
    			formato="%05d";	
    		}else if (casaEsquerda == 6){
    			formato="%06d";	
    		}else if (casaEsquerda == 7){
    			formato="%07d";	
    		}else if (casaEsquerda == 8){
    			formato="%08d";	
    		}else if (casaEsquerda == 9){
    			formato="%09d";	
    		}else if (casaEsquerda == 10){
    			formato="%010d";	
    		}
    		resultado = String.format(formato,i);
    	}catch(Exception e){
    		e.printStackTrace();
    		System.out.println("Erro na Util.zeroEsquerda = "+e);
    	}
		return resultado;
    }	

nossa…

isso sim foi POG…

Espero que isso ajude:

public class AddZeros {

	public static void main(String[] args) {
		int x = 150;
		String num=null;
		num = num.valueOf(x);
     	System.out.println("000000"+ num);
            // 000000150 será impresso


	}

}

Elegante!

num = num.format("%09d", x);

[quote=alucardeck]nossa…

isso sim foi POG…[/quote]

Rindo do POGzão, ao som de Wild Thing (The Troggs) e pensando em bolar um campeonato POG. Bora?

[quote=haroldojribeiro]Espero que isso ajude:

[code]
public class AddZeros {

public static void main(String[] args) {
	int x = 150;
	String num=null;
	num = num.valueOf(x);
 	System.out.println("000000"+ num);
        // 000000150 será impresso


}

}
[/code][/quote]
se for pra fazer assim…

não seria mais facil
System.out.println(“000000”+x); ?
:wink:

[quote=Sergio Figueras][quote=alucardeck]nossa…

isso sim foi POG…[/quote]

Rindo do POGzão, ao som de Wild Thing (The Troggs) e pensando em bolar um campeonato POG. Bora?[/quote]

kkkkkkkkkkkk
verdade…

tinha q ir esse post pro topico
http://www.guj.com.br/posts/list/30384.java

Pra ficar menos feio:

** 
	 * Formata um numero em String colocando zeros a esquerda conforme passado via parametro
	 * Recebe atributo numero e atributo CasaEsquerda qtde zero a esquerda do numero  
	 * @return String variavel formatada com zero(s) a esquerda 
	 */
	public static String zeroEsquerda( int numero , int casaEsquerda){
		StringBuilder formato = new StringBuilder();
		String resultado = "";

		//PRA QUE ESSE ARRAY????
		Integer[] i = new Integer[1];
		i[0] = new Integer(numero);

		try{
			formato.append("%0").append(casaEsquerda).append("d");	
			resultado = String.format(formato.toString(),numero);
		}catch(Exception e){
			e.printStackTrace();
			System.out.println("Erro na Util.zeroEsquerda = "+e);
		}
		return resultado;
	}

[quote=paribe]valeu…escolhi a ultima opção …valeu

[code]
/**
* Formata um numero em String colocando zeros a esquerda conforme passado via parametro
* Recebe atributo numero e atributo CasaEsquerda qtde zero a esquerda do numero
* @return String variavel formatada com zero(s) a esquerda
*/
*/
public static String zeroEsquerda( int numero , int casaEsquerda){
String formato ="";
String resultado ="";
Integer[] i = new Integer[1];
i[0] = new Integer(numero);

  try{
		
		if (casaEsquerda == 1){
			formato="%01d";	
		}else if (casaEsquerda == 2){
			formato="%02d";	
		}else if (casaEsquerda == 3){
			formato="%03d";	
		}else if (casaEsquerda == 4){
			formato="%04d";	
		}else if (casaEsquerda == 5){
			formato="%05d";	
		}else if (casaEsquerda == 6){
			formato="%06d";	
		}else if (casaEsquerda == 7){
			formato="%07d";	
		}else if (casaEsquerda == 8){
			formato="%08d";	
		}else if (casaEsquerda == 9){
			formato="%09d";	
		}else if (casaEsquerda == 10){
			formato="%010d";	
		}
		resultado = String.format(formato,i);
	}catch(Exception e){
		e.printStackTrace();
		System.out.println("Erro na Util.zeroEsquerda = "+e);
	}
	return resultado;
}	

[/code][/quote]

não me leve a mal…

mas praq tanto IF ELSE ???

String formato ="";
int casaEsquerda = //vc escolhe;
formato="%0"+casaEsquerda+“d”;

kkkkkkkkk

valeu pela dica…

 public static String zeroEsquerda( int numero , int casaEsquerda){
      String formato ="";
      String resultado ="";
      Integer[] i = new Integer[1];
 	  i[0] = new Integer(numero);

 	  try{
    	    formato="%0"+casaEsquerda+"d"; 
     		resultado = String.format(formato,i);
    	}catch(Exception e){
    		e.printStackTrace();
    		System.out.println("Erro na Util.zeroEsquerda = "+e);
    	}
		return resultado;
    }