2016-03-31 10 views
0

Ich versuche einen Bruchteil zu teilen, aber es gibt nicht das gestellte Ergebnis.Teilungsbruch ergibt keine Dezimalstellen

Zum Beispiel:

Mein Code:

int numerator = 1; 
    int denominator = 2; 

    String s; 
    double product = numerator/denominator; 
    s = numerator + "/" + denominator + "(" + product + ")"; 
    System.out.println(s); 

Das Ergebnis ist 1/2 (0,0) und es sein sollte 1/2 (0,5)

Ist es vielleicht, weil ich bin mit einem Doppel oder ist es eine schlechte Rundung?

+4

int/int -> warf einer von ihnen zu verdoppeln -> int/Doppel-oder Doppel/int – Tokazio

Antwort

0

Teilung einer int durch eine int gibt eine int. Du brauchst also einen von ihnen als Fließkommazahl, um die Antwort in Fließkommawerten zu erhalten.

einfach, können Sie tun:

double product = numerator/(denominator * 1.0); 

oder

double product = numerator/(double) denominator; 

oder

double product = (double) numerator/denominator;