Zum Inhalt springen

Zahlen als String eingeben und Abfragen


blondi2108

Empfohlene Beiträge

Sollte nicht auch eine Exception abfangbar sein bei der Konvertierung des Strings in einen int?

Ich bin mir bewusst das die Threadstellerin damit nicht viel anfangen kann. Aber es interessiert mich vom technischen Aspekt.

Gleichzeitig frag ich mich ob ihr so eine Lösung als... unschön ansehen würdet?

Bei einem explizieten Cast wäre das unschön.

Wenn's eine Funktion macht (wie in Java z.B.), dann wär's ok.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Sollte nicht auch eine Exception abfangbar sein bei der Konvertierung des Strings in einen int?
Mir ist keine Standardfunktion bekannt, die in so einem Fall eine Ausnahme werfen würde.

Gleichzeitig frag ich mich ob ihr so eine Lösung als... unschön ansehen würdet?
Kommt drauf an, wo man die Ausnahme fängt. Ausnahme bieten sich immer dann an, wenn die Fehlerbehandlung an übergeordneter Stelle stattfindet. Einen try-block um solche eine Umwandlung finde ich persönlich unangemessen. Das ist IMHO keine Ausnahme, sondern ein normaler Fall im Programmfluss.
Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich dachte mir das in einer Form wie hier.
Du meinst boost::lexical_cast? Das tut in etwa das, was ich hier beschrieben habe ;)

Wenn man so eine Funktion benutzt, muss man die Exception natürlich fangen.

Außerdem denke ich ist eine falsch eingegebene Zahl/String doch ein Fehler und wir können von dem .. Normalfall ausgehen das der Benutzer richtige Zahlen eingibt.
Die Frage ist doch, ob es eine Ausnahmesituation darstellt, d.h. dass das Auftreten nicht vorhersehbar ist. Bei einer Benutzereingabe ist das sicherlich der Fall, aber IMHO nicht generell bei einer Umwandlung von Strings in Zahlen. Aber das ist vermutlich Geschmackssache.
Link zu diesem Kommentar
Auf anderen Seiten teilen

Bei einer Benutzereingabe ist das sicherlich der Fall, aber IMHO nicht generell bei einer Umwandlung von Strings in Zahlen. Aber das ist vermutlich Geschmackssache.

Ist das im Endeffekt nicht das selbe? Wenn ein String nicht in eine Zahl konvertiert werden kann, ist das doch eine Ausnahme für das entsprechende Format des Strings (nur Zahlen [und ggf. ein Dezimalpunk/-komma]).

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ist das im Endeffekt nicht das selbe? Wenn ein String nicht in eine Zahl konvertiert werden kann, ist das doch eine Ausnahme für das entsprechende Format des Strings (nur Zahlen [und ggf. ein Dezimalpunk/-komma]).
Aber nur, wenn du tatsächlich ein bestimmtes Format erwartest. Für mich ist eine Ausnahme immer ein unerwarteter Fehler. Wenn ich einen String parse, der syntaktisch eine Zahl sein kann, aber nicht muss, ist eine fehlgeschlagene Umwandlung für mich nichts Unerwartetes.
Link zu diesem Kommentar
Auf anderen Seiten teilen

Aber nur, wenn du tatsächlich ein bestimmtes Format erwartest. Für mich ist eine Ausnahme immer ein unerwarteter Fehler. Wenn ich einen String parse, der syntaktisch eine Zahl sein kann, aber nicht muss, ist eine fehlgeschlagene Umwandlung für mich nichts Unerwartetes.

Ja, aber in dem Fall würde doch ein bestimmtes Format erwartet werden. :confused:

(Eben nur Zahlen)

Wie auch immer, ich glaub das geht zu weit ins OT.

Für die Threaderstellerin ist es sicher einfacher, wenn sie isDigit() aufruft. :rolleyes:

Link zu diesem Kommentar
Auf anderen Seiten teilen

nicht wirklich.. hatten gestern schule und unser lehrer meinte dann tatsächlich, dass wir das so komplex noch gar nicht machen sollen.. trotzdem werde ich sobald ich mal wieder luft habe daran weiter tüfteln...

müssen jetzt nen fahrscheinautomaten programmieren und sollen wenn der fertig ist mit der fehlerabfrage so beginnen..

werde mich im zweifel dann man wieder bei euch melden...

kenne von java-code die try-catch blöcke, ich weiß, dass es die in c auch gibt.. werden sie genauso genutzt?

allerdings möchte ich es auf dem anderen weg auch noch schaffen..

lieben dank, das ihr euch so kümmert...

Link zu diesem Kommentar
Auf anderen Seiten teilen

kenne von java-code die try-catch blöcke, ich weiß, dass es die in c auch gibt..
Da irrst du dich. In C gibt es keine Exceptions, zumindest nicht im Standard. Manche Compiler und Bibliotheken enthalten allerdings ähnliche Mechanismen. "Echte" Exceptions gibt es allerding in C++.

werden sie genauso genutzt?
Die Benutzung in C++ ist ähnlich wie in Java, allerdings gibt es keine "Checked Exceptions".
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...