Preencher campos vazios com 0

5 respostas
C

Bom dia. Tenho uam variável (valor, por exemplo) que pega um dado binário. Eu preciso que ela me apresente sempre 5 dígitos. Como eu faço para que ela venha sempre preenchida com estes 5 dígitos, colocando zeros à esquerda no caso do valor recebido não conter 5 posições? Por exemplo Se vier valor=10, ela me mostraria valor=00010.
Podem me ajudar?
Grato, Carlos.

5 Respostas

xandevieira

value = valor
char = caracter se sera completado, no seu caso ‘0’
site = quantidade de caracteres

public static String completeToLeft(int value, char c, int size) {
		String result = String.valueOf(value);		
		return completeToLeft(result, c, size);
	}
	
	public static String completeToLeft(String value, char c, int size) {
		if (value == null) {
			value = "";
		}
		String result = value;
		
		while ( result.length() < size ) {
			result = c + result;
		}
		
		return result;
	}
abelgomes
StringBuffer sb = new StringBuffer(seuvalor.toString());
while(sb.size()<=4){
  sb.append("0");
}

int valor = Inetger.parseInt(sb.toString());
Cabazzo
String numero = "1";

String.format("%05d", Integer.parseInt(numero)); // retorna 00001;
C

Olá abelgomes, muito obrigadopela ajuda, mas está dando um erro:
while(sb.size()<=4)
The method size() is undefined for the type StringBuffer.

abelgomes

cmendes:
Olá abelgomes, muito obrigadopela ajuda, mas está dando um erro:
while(sb.size()<=4)
The method size() is undefined for the type StringBuffer.

acho que é lenght no lugar de size

mas acho que a manira do simpson ai é mais adequada…

Criado 17 de outubro de 2008
Ultima resposta 17 de out. de 2008
Respostas 5
Participantes 4