Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Zahlen als String eingeben und Abfragen

Empfohlene Antworten

lege jetzt einfach mal die einzugebenen zahlen fest..

war nen tip von meinem ausbilder...

nehme das prob jetzt mal mit nach hause...

schönen feierabend...

danke soweit

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?

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.

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.

Ich dachte mir das in einer Form wie hier.

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. Aber falls er es nicht schafft kann eingegriffen werden.

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.
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]).

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.
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:

danke das ihr die diskussion so heiß weiter geführt habt :uli ... ich versteh allerdings nur bahnhof :upps

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...

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".
Da irrst du dich. In C gibt es keine Exceptions, zumindest nicht im Standard.

Ich erinner mich grad an die Windowsfunktionen die ein DWORD zurückgegeben haben.

-> Mitunter großer Switch-Case-Block um die genaue Fehlerbeschreibung anzuzeigen.:rolleyes:

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.