Parse-Nummer mit positivem / negativem Präfix von String in Java

8

In Java ist es sehr einfach, die Nummer von String zu parsen, dh mit Integer.parseInt (s) wenn die Zeichenfolge im Format 'n' oder '- n' ist , aber leider kann die Zeichenfolge im Format '+ n' nicht analysiert werden.

Also, was ist die effektivste / eleganteste Art, die Zahl von String in Java zu analysieren, wenn sie ein positives oder negatives Präfix enthält: '+ n' oder '- n' ?

    
Gennady Shumakher 18.01.2010, 22:44
quelle

2 Antworten

10
%Vor%

In Wahrheit gibt es viele Fehler, die Integer verwenden, um solche Zahlen zu parsen, da Integer sehr spezifische Grenzen für Größe und Format hat ("1.000.000.00") analysiert nicht so, aber ich nehme Ihre Frage als Integer. parseInt erfüllt Ihre Anforderungen gut, Sie müssen nur mit einem + in Ihren Daten umgehen.

    
Yishai 18.01.2010, 22:46
quelle
0

Just FYI, dies wird in Java 7 behoben.

aus, Java SE8 für die wirklich Ungeduldig

  

Vor JDK 1.7 , was war das Ergebnis des folgenden Code-Segment?

     

double x = Double.parseDouble("+1.0");

     

int n = Integer.parseInt("+1");

     

Pat dich auf den Rücken, wenn du das wusstest   Antwort: +1.0 hat eine gültige Gleitkommazahl immer gewesen, aber   Bis Java 7 war +1 keine gültige Ganzzahl. Dies wurde nun behoben   für all die verschiedenen Methoden, die int , long , short , byte konstruieren,   und BigInteger -Werte aus Strings. Es gibt mehr von ihnen als du   könnte man denken. Zusätzlich zu Parse (Int | Long | Short | Byte) gibt es   Decodiermethoden, die mit hexadezimalen und oktalen Eingaben arbeiten, und    valueOf Methoden, die Wrapper-Objekte ergeben. Der Code%   Konstruktor wird ebenfalls aktualisiert.

    
Sufiyan Ghori 12.02.2015 04:41
quelle

Tags und Links