Alguém sabe como retirar os zeros a esquerda de uma String ?
00000062626262626266
Se alguém puder ajudar desde agradeço !
Alguém sabe como retirar os zeros a esquerda de uma String ?
00000062626262626266
Se alguém puder ajudar desde agradeço !
…
Tenho uma String e gostaria de retirar os zeros a esquerda:
00000062626262626266
62626262626266
Desde já agradeço a quem puder ajudar.
Tendou o replaceAll?
[code]String nums = “98753496153098123”
nums = nums.replaceAll(“Tira isso”, “Insere aqui”)[/code]
No “Insere aqui” deixa como “” (nulo)
É que o replaceAll retira todos os Zeros da String e pode ser assim
00000666007770009
Mas agradeço !
Não sei se é gamgiarra assim, mas funciona
String x = "0002047";
String temp = "";
for (int i = 0; i < x.length(); i++) {
if (!x.substring(i, i + 1).equals("0")) { //checa se chegou no primeiro caracter q não é 0
temp += x.substring(i, x.length()); // temp fica com os valores correspondentes à substring da posição atual ate o fim
break; // sai do laço
}
}
System.out.println("Antes: " + x + " Depois:" + temp);
Metaleiro, não sei se vai servir porque nunca usei esse método, mas olha na API, não posso testar aqui por questão de tempo, mas talvez ajude. Só tem que saber expressão regular
public String replaceFirst(String regex, String replacement)
Espero ter ajudado.
[quote=asousaj]Não sei se é gamgiarra assim, mas funciona
String x = "0002047";
String temp = "";
for (int i = 0; i < x.length(); i++) {
if (!x.substring(i, i + 1).equals("0")) { //checa se chegou no primeiro caracter q não é 0
temp += x.substring(i, x.length()); // temp fica com os valores correspondentes à substring da posição atual ate o fim
break; // sai do laço
}
}
System.out.println("Antes: " + x + " Depois:" + temp);
[/quote]
Muito obrigado a todos.
Agradeço toda a ajuda !
O método funcionou perfeitamente !
Retirar zeros à esquerda de uma string requer que você se lembre do caso em que a string é totalmente zerada (“00000000000000”).
Pelo que imagino, nesse caso você teria de deixar um zero - ficaria: “0”, não “vazio” como essas soluções que foram apresentadas aqui.
Normalmente eu converteria isso para long, e então converteria de volta, mais ou menos como:
String s = "00000000000";
long x = Long.parseLong (s);
s = Long.toString (s);
Isso também leva em conta o caso “-00000002345” - note que vocês também não pensaram em números negativos, não?
Não tá na especificação a gente não considera :lol:
Senão depois se e somente se der errado eles dizem:
Inclusive como não foi especificado pode até vir “bohemia”, só foi dito que seria uma String, heim? kkkk
Para o meu caso funciona perfeitamente.
É específico.
A String virá numérica com zeros a esquerda, nunca valores negativos.
Exemplo :
000999
assim :
999
0007770001
assim :
7770001
O programa já garante que virá em formato numérico.
Obrigado a todos.
Para colocar zeros a esquerda:
NumberFormat nf = new DecimalFormat("0");
nf.setMinimumIntegerDigits(8);
String numeroFormatado = nf.format(number);
Pode utilizar assim.
String numeros = “0000000000000000159”;
numeros = Integer.valueOf(numeros).toString();
Agora o numeros será 159
Se o valor for um número, o método mais fácil é converter para numérico (Double ou Long) e transformar novamente para String, conforme alguns colegas sugeriram.
String newStrValue = Long.valueOf(strValue).toString();
A classe NumberFormat também pode ajudar.
String numero = “000000001290009”;
int x = Integer.parseInt(numero);
System.out.println(x);