Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Wert in C++ speichern mit Dezimalstellenerzwingung

Sovebämse / 12 Antworten / Flachansicht Nickles

Hallo

Bin Programmieranfänger und erst mal bei den Basisdingen angelangt (d.h. noch keine Arrays, Klassen usw.).

Da ich aber gerne dann selber ausprobiere und mir Ziele setze, wollte ich mal ein Programm schreiben, welches erkennt, ob man eine Integer-Zahl eingegeben hat oder nicht.

Mit "cout" kann ich ja eine Ausgabe mit einer bestimmten Dezimalstellenanzahl erzwingen. Wenn also z.B. 2 eingegeben wird, wird 2.0 oder 2.00 angezeigt.

Ein Programm habe ich bereits schreiben können, welches Werte wie 2.5 als Nicht-Integer erkennt und eine 2 als Integer. Allerdings wird eine 2.0 auch als Integer bekannt, da anscheinend intern im Speicher, eine 2.0 als 2 dargestelt wird, auch wenn 2.0 eingegeben wird.

Frage: Gibt es eine Möglichkeit mit "cin" oder auf eine andere Weise, eine eingegebene Zahl auf eine solche Null-Dezimalstelle zu prüfen oder diese genau so abzuspeichern, wie sie eingetippt wurde, also nicht als 2, sondern 2.0? Ich möchte nämlich, dass auch diese als Nicht-Integer erkannt werden.

Bitte (wenn es geht) die einfachste Lösung. Falls es keine einfache Lösung gibt, werde ich wohl zuerst noch etwas weiterlernen müssen ;-)

Danke und Gruss
Thomas

bei Antwort benachrichtigen
xafford PaoloP „ich glaub das ist in dem fall zu vernachlässigen, geht beides. sind eh bestimmt...“
Optionen
ich glaub das ist in dem fall zu vernachlässigen

Ja, da geb ich Dir Recht. Ich finde nur, dass man auf so Sachen am Besten so früh wie möglich hingewiesen wird und es dadurch verinnerlicht und für die Gefahr sensibilisiert wird.

Andererseits... war wär die IT ohne Buffer Overflows? ;o)
Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen