Kontrolle: Ist die Eingegebene Zahl eine ganze Zahl ??
-
Gibt es eine Abfrage mit der überprüft werden kann ob die Eingabe eine ganze Zahl ist in der Form
if (wunsch = int) oder so ???
-
if (wunsch == int(wunsch)) { ... }
Wenn (Wunsch = Die Ganzzahl von Wusch)
{
dann ist es wohl eine Ganzzahl
}MfG Michael
-
Muss wohl (int)wunsch heißen, sorry.
Warum deklarierst Du die einzugebende
Zahl denn nicht gleich als Integer?
-
Wenn du den Typ festlegst (int), dann kann es nur eine ganze Zahl sein. Wenn du allerdings einen Gleitkomma Typ verwendest, dann musst du prüfen, ob es einen Nachkommaanteil gibt.
double wert; ... if( (wert / (long)wert) == 1) // es ist eine ganze Zahl
-
Da war einer schneller und hat gleich eine bessere Möglichkeit gefunden.
-
ich würde sowas wie:
floor(zahl)==zahl
benutzen dann muss er nicht extra nen cast bemühen undkann das ganz von der fpu erledigen lassen...
-
Wird wohl i.A. alles nicht hinhauen.
Denn ein INT und ein DOUBLE haben verschiedene interne Darstellungen.
-
@japro:
Ich würde mich jetzt nicht festlegen wollen ob eine Berechnung durch die FPU oder ein Cast-To-Int schneller ist@C/C++:
Die interne Darstellung interessiert nicht, der Compiler ist schon in der Lage ne Umwandlung vom Sinn her richtig zu setzen. (aus (int)12.2 wird 12, egal wie was intern dargestellt wird)