Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Format, zero a esquerda

Oi pessoal!

System.out.format(new Locale("pt", "BR"), "%s - %04d-%08d, %20s: %08.2f%n", 
                    tipoConta, agencia, numero, titular, saldo);

Como faríamos para para acrescentar valores 0 a direita do nuḿero ? Por exemplo, no caso dos decimais, 10.00

Fazendo uma pesquisa rápida, vi alguns utilizando

String.format("%-5s", price ).replace(' ', '0')

Mas não consegui reproduzir esse formato para número decimal. Obrigado!

1 resposta

Olá Lucas!

Na sua pergunta ja vem a resposta, basta usar o %.2f trocando o 2 pelo número de casas decimais.

> float saldo = 123f;
> String.format("%.5f", saldo);
==> "123.00000"
> saldo = 123.45f;
> String.format("%.5f", saldo);
==> "123.45000"
> saldo = 123.000015f;
> String.format("%.5f", saldo);
==> "123.00002"
> saldo = 123.000045f;
> String.format("%.5f", saldo);
==> "123.00004"

Repare que ele completa as 5 casas decimais com zeros à direita quando necessário, e faz o arredondamento do float automaticamente usando a estratégia round-even (se quiser saber mais, leia o item B) das regras de arredondamento.

Qualquer dúvida não hesite em complementar aqui com mais postagens.

Um abraço e bons estudos!