c++ Float Vorkomma- und Nachkommawert ermitteln
Hallo liebe Community,
ich möchte in meinem Programm eine Zahl eingeben mit Nachkommastellen und danach möchte ich den Vor- und Nachkommwert extra ausgeben.
Vielen Dank im Voraus, lg Peldaftw
2 Antworten
Speichere die Zahl in string (oder charachter array). Dann mache eine Schleife, schreibe die character aus, und suche nach Komma. Wenn du Komma gefunden hast, dann schreibe eine neue Zeile, und dann schreibe die danach stehende character aus.
Oder benutze strtok:
Kann es leider im Moment nicht prüfen, aber versuch es mal so:
Zahl als Float eingeben - float als neue Integervariable speichern -> müsste eigentlich die Kommastellen einfach abschneiden- Integervariable = Vorkommawert Float-Integervariable = Nachkommawert
Noch besser als die Konvertierung in einen Integer wäre der Nutzen der mathematischen Funktion floor, da sich diese in einen günstigen Maschinenbefehl zur direkten Rundung einer Fließkommazahl auflöst, was auch positiv zur folglichen Subtrahierung mit gleichen Datentypen beiträgt.
Um das ganze allerdings zu verkürzen, gibt es bereits die Funktion modf: http://en.cppreference.com/w/cpp/numeric/math/modf
Kleines Problem besteht noch, kannst mir das auf dem Bild erklären ?
hab quasi den gleichen code, kann das aber nicht replizieren... komisch oO
Das wird ein Präzisionsproblem sein, da Fließkommazahlen digital nur annäherungsweise gespeichert werden. Mit float ist dies sogar noch weit schlimmer als mit double.
Für mehr, lese folgendes: http://floating-point-gui.de
jap Funktioniert so...jezt auch probiert