Duvida de formatar um numero pra String

13 respostas
P

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

13 Respostas

fnandos

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.

O

Solução já dada no forum.

int i = 150;

String r = String.format("%09d", i);
Guilherme_Gomes
String addZeros(String str){
    while(str != null && str.length() < 9)
        str = "0" + str;
    
    return str;
}
P

O melhor jeito que eu vejo:

int i = 150;  

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

Cuidado com POG!

P

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;
    }
alucardeck

nossa…

isso sim foi POG…

haroldojribeiro

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);
P

alucardeck:
nossa…

isso sim foi POG…

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

alucardeck
haroldojribeiro:
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


	}

}
se for pra fazer assim..

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

alucardeck

Sergio Figueras:
alucardeck:
nossa…

isso sim foi POG…

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

kkkkkkkkkkkk
verdade…

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

ivo_costa

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;
	}
alucardeck
paribe:
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;
    }

não me leve a mal..

mas praq tanto IF ELSE ????

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

kkkkkkkkk

P

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;
    }
Criado 6 de agosto de 2008
Ultima resposta 6 de ago. de 2008
Respostas 13
Participantes 8