Por que Java está arredondando meu cálculo bóia?

Francesco Mantovani:

Eu sou novo para Java e estou aprendendo os primeiros passos.

Fazendo minha lição de casa eu tenho um problema imprimindo um total com um ponto flutuante:

public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello, Francesco");
        int myFirstNumber = (10 + 5) + (2 * 10);
        int mySecondNumber = 12;
        int myThirdNumber = myFirstNumber * 2;
        int myTotal = myFirstNumber + mySecondNumber + myThirdNumber;
        float  myLastOne = myTotal/10;
        System.out.println(myTotal);
        System.out.println(myLastOne);
    }
}

O Java imprime é 11.0:

Hello, Francesco
117
11.0

Mas em vez disso, deve imprimir 11.7:

Hello, Francesco
117
11.7

Eu sei que o residem problema em números de linha 8, onde eu estou usando float, eu até tentei usar doublemas eu tenho o mesmo resultado

azro:

Isso é por causa de int-divisioncomo 10é um int. Você precisa adicionar o sufixo f fo especificar que é um float

float myLastOne = myTotal / 10f;
System.out.println(myLastOne); // 11.7

Isso poderia funcionar também com double

double myLastOne = myTotal / 10.0;
System.out.println(myLastOne); // 11.7

Acho que você gosta

Origin http://10.200.1.11:23101/article/api/json?id=389683&siteId=1
Recomendado
Clasificación