Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Resultado inesperado no printf

meu main:

public class TestaConta {
    public static void main(String[] args) {
        Conta conta = new ContaCorrente("Mauricio", 123, 400);
        conta.imprime();
    }
}

local onde foi colocado o printf

public void imprime() {
        System.out.println(this.nome);
        System.out.printf("%.2f", this.saldo);
        System.out.println(this.agencia);
    }

resultado utilizando %.2f:

System.out.printf("%.2f", this.saldo);
400.00123

resultado utilizando %f:

System.out.printf("%f", this.saldo);
400.000000123

Fiquei confuso com o resultado utilizando o %.2f, por que eu esperava que o resultado viesse com apenas duas casas decimais, porem ele veio com cinco. Alguem pode me explicar o porque disso?

2 respostas
solução!

Bom dia amigo, no seu método imprime você esta usando um printf para formatação, no entanto esse printf quando impresso na tela ele esta se concatenando com o println de baixo. Tente pular uma linha depois do printf. Algo mais ou menos assim:

public void imprime() {
        System.out.println(this.nome);
        System.out.printf("%.2f", this.saldo);
        System.out.println();
        System.out.println(this.agencia);
    }

faz sentido, não tinha reparado nisso. obrigado