[Java] Abfrage ob Variableninhalt korrekt

OP #4189278
Lesenswert?
• ▲
▼
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
Gast #4189295
Lesenswert?
• ▲
▼
Da gibt es viele Möglichkeiten,

du könntest direkt die ParseException abfangen:
1
String foo = kommtIrgendWoHer();
2
float bla;
3
try {
4
    bla = Float.parseFloat(foo);
5
} catch (Exception e) {
6
    bla = 0f;
7
}

Oder du lässt RexExps drauf los:
1
Pattern pattern = Pattern.compile("([0-9]{1},[0-9]{2})");
2
Matcher matcher = pattern.matcher(LQ);
3
if (matcher.find()) {
4
    //hier dann die Parserei mit matcher.group(1)
5
}else{
6
   //was anderes
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 ;)

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.