Veröffentlicht 16. Januar 200322 j Hallo, wie kann ich auf einfache Art und Weise ermitteln, ob der Nachkomma-Wert eines doubles von 0 verschieden ist? Muss ich das ganze erst in einen String umwandeln, und dann überprüfen, was nach dem Komma kommt - oder gibt's da was "eingebautes"?! Gruß, Technician
16. Januar 200322 j Hi, ne Funktion dafür kenn ich zwar nicht, aber so geht`s auch ziemlich einfach: double d = 34.50009; int i = (int)d; if ((d - i) > 0) printf ("Die Zahl hat Nachkommastellen!\n"); [/PHP] Gruß Guybrush
16. Januar 200322 j @G.T.: Das funktioniert nur für d >= 0.0. if( d != (int) d ) ist da besser. Zu beachten wäre noch, dass es double-Werte gibt, die nicht in ints reinpassen. Das sollte man vorher mit INT_MIN und INT_MAX (aus limits.h) prüfen, da sonst solche Werte immer als nachkommastellenbehaftet erkannt werden, auch wenn sie keine haben.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.