1
resposta

Duvida sobre o float - Ponto flutuante

Bom dia amigos ! Alguém poderia me explicar porque esse código continua com a saida no console com várias casas decimais ?

public class Conversão{

    public static void main(String[] args){

        float pontoFlutuante = 3.14f;

        double salario = 1270.50;
        int valor = (int) salario;
        System.out.println(valor);

        double valor1 = 0.2;
        double valor2 = 0.1;
        double total = valor1 + valor2;

        System.out.println(total + pontoFlutuante);

        Console
        1270
        3.4400001049041746
1 resposta

Oi Marcelo,

Ao executar um system.out de uma operação matemática envolvendo variáveis do tipo float ou double o valor vai sair com várias casa decimais mesmo, pois esse é o comportamento padrão desses dois tipos.

Você pode utilizar o método String.format() para controlar a formatação, decidindo quantas casas decimais deseja imprimir:

String textoFormatado = String.format("%.2f", total + pontoFlutuante);
System.out.println(textoFormatado);

Bons estudos!