Zum Inhalt springen

testen, ob Ganzzahl


Technician

Empfohlene Beiträge

Hallo,

ich möchte überprüfen, ob eine Zahl (double) eine Ganzzahl ist, d.h. ob die Nachkommastellen gleich oder != 0 sind.

Wie löse ich das am schnellsten?

Kann ich einfach folgendes machen (leider gerade kein Compiler verfügbar, um was auszutesten):

- double my_nr in int i_nr umwandeln

- von my_nr i_nr subtrahieren

- wenn Ergebnis > 0, dann gibt es Nachkommastellen

Wie würdet ihr das machen?

Gruß,

Technician

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich denke nicht das das geht weil du bei einer Gleitkommazahl selbst wenn es eine "Ganzzahl" ist meistens nie genau 1 oder 2 oder so hast, sondern irgendwas wie 1,000000000001.

Wenn soltest du es mit einem Epsilonvergleich probieren:


if ((zupruefenderwert - testwert) > 0,00001)
{
//keine ganzzahl
}
[/PHP]

Das sollte IMHO zuverlässiger sein.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich nutze gerne :

if(a != (double)((int)a)

Allerdings weiß ich nicht, um wie viel dies schneller ist, da ich mir zwar eine Subtraktion spare, aber dafür zwei Wandlungen mache.... Aber die wird normalerweise auch automatisch beri der Subtraktion zweier unterschiedlicher Variablentypen gemacht.

kind regards,

Kristian Kratzenstein

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...