Rest einer Division


#1
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?
 

chmee

verstaubtes inventar
Premium-User
#3
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:
#5
Also bei mir funktioniert Modulo perfekt. (wann funktionierts denn nicht?)
Endlich kann ich primzahlen ausrechnen xD xD
 
Zuletzt bearbeitet:
#9
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.
 

Neue Beiträge