Hallo Leute, ich habe folgendes Problem: ich bekommen Daten als String geschickt. Der String wird mit Float.parseFloat geparst und in ein float gewandelt. Bei der Übertragung als String bleiben allerdings manchmal Zeichen auf der Strecke. Machmal kommt also statt dem String "1,23" nur "1," oder auch nur "," an. Gerade im letzen Fall schlägt das parsen fehl und die Anwendung hängt sich auf. Um dies abzufangen, würde ich gerne eine Verzweigung einbauen: Wenn der Inhalt des Strings dem Schema X,XX entspricht, parse den Text. Genau für diesen Fall fehlt mir allerdings der Code. Hat jemand einen Gedankenanstoß? dankesehr! Grüße, dionysos
Hängt sich auf? Java sollte in dem Fall einfach eine Exception werfen, die Du entsprechend abhandeln kannst.
Gast
#4189295
Da gibt es viele Möglichkeiten, du könntest direkt die ParseException abfangen:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
Oder du lässt RexExps drauf los:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
Und ich würde überdenken, ob ich wirklich float will (http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html) und nicht lieber doch auf BigDecimal umschwenken wollen würde ;)
Gast
#4189296
Arghl, Korrektur Hier:
1 | |
sollte natürlich statt "LQ" dein String stehen. und hier:
1 | |
besser ParseException statt nur Exception
Gast
#4189312
Vllt. auch "^[0-9]{1},[0-9]{2}$"
Dann koennen sich nich vorn oder hinten extra Zeichen einschleichen.
dankeschön. habe zunächst die Variante mit try & catch implementiert. funktioniert wie ich mir das vorstelle.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.