Rest einer Division

lonol15

Mitglied
Hi,
es ist so, ich will überprüfen ob bei einer Division ein rest raus kommt.
Dazu habe ich zwei floats die ich teile und dann will ich überprüfen ob der Rest des Ergebnisses 0 oder
was anderes ist. Wenn der Rest=0 ist gibt die Methode true zurück ansonsten false.

Wisst ihr eine Methode mit der ich den Rest eines floats rausbekomme?
Oder irgendwelche anderen Ratschläge oder Ideen?
 
Du sprichst ja von Floats. Hilft Dir Folgendes weiter?

1.
Code:
(A) 26.34 / 13.78 = 1.91146589
(B) 25.5 / 12.75 = 2

2. Nun verrückst Du die Nachkommastelle, indem Du mit einer Zehnerstelle multiplizierst.
Code:
(A) 1.91146589 * 10 = 19.1146589
(B) 2 * 10 = 20
(Eigentlich sollte die Nachkommastelle um die Anzahl der (Nachkommastellen-1) verrückt werden, damit es akkurat ist.)

3. Nun machst Du eine Überprüfung, ob das Ergebnis aus (2.) mit der nach (int) gewandelten Zahl übereinstimmt.
Code:
(A) (int)(19.1146589) == (19.1146589) -> false
(B) (int)(20) == (20) -> true
Wahlweise könnte (sollte?) man es mit floor() machen.. Ich weiß nicht, wie das unter Java zu handhaben ist..

mfg chmee

Nachtrag: Ach nee, modulo funktioniert auch mit float, na denn. ahoi :)
 
Zuletzt bearbeitet:
Wobei ich Modulo nicht bei float/double einsetzen würde, das funktioniert nur in seltenen Ausnahmefällen wie gewünscht.
 
Also bei mir funktioniert Modulo perfekt. (wann funktionierts denn nicht?)
Endlich kann ich primzahlen ausrechnen xD xD
 
Zuletzt bearbeitet:
Rundungsfehler...

aber zu "Primzahlen ausrechnen": Warum dann überhaupt float?
Primzahlen sind doch ganze Zahlen...
 
int?
Zum Primzahl-ermitteln brauch zumindest ich keine einzige Kommazahl.
C++:
bool isprim(unsigned int x)
{
    int a = 2, b = (int)sqrt(x) + 1;
    while(a < b)
    {
        if(!(x % a))
            return false;
    }
    return true;
}
Ungetestet, aber so ungefähr gehts.
 
Zurück