Zeros a esquerda

3 respostas
pix

Olá, gostaria de retirar os zeros a esquerda de uma variavel que contem 000000000000.0000

stIte.nextToken().trim().replaceAll("^0+", "")

Tentei usar o código assim, funciona para quando não vem “tudo zerado”, o problema é quando a variavel vem totalmente zerada que por ser uma String fica “.0000”

3 Respostas

hiram

Prometo que vou pensar em algo mais elegante:

  1. você pode fazer um replace all do “^[.]” por “0.” quando você tiver o caso “.0000”. Essa solução é feia.

  2. Quando você tiver o caso “.0000” você pode usar a StringBuilder pra colcoar o “0” lá. Essa nem tanto.

  3. Não testei, mas talvez você consiga transformar isso em Float com o parseFloat.

Que tal?

hiram

Haha! Não resisti e testei:

Float.parseFloat(".000");

O mesmo deve dar certo com Double.

Falou!

T

Você pode usar 2 expressões regulares - é bobo e mais lento, mas é mais fácil de manter.

class TesteRegex5 {
    public static void main(String[] args) {
        String[] testes = {
            "000000000000.0000",
            "0023.456",
            "023.456",
            "23.456"
        };
        for (String t : testes) {
            System.out.println (t + "->" + t.replaceAll ("^0*", "").replaceAll ("^\.", "0."));
        }
    }
}
Criado 15 de junho de 2009
Ultima resposta 15 de jun. de 2009
Respostas 3
Participantes 3