Ich habe eine Zeichenfolge mit Zahlen. Ich muss diese Zeichenfolge parsen und diese Zahlen in int, float usw. speichern. Dementsprechend
%Vor% Ich kann es tun nach Integer.parseInt()
und Float.parseFloat()
nach dem Teilen. Aber ich kann es nicht für negative Zahlen tun. Es gibt Ausnahme java.lang.NumberFormatException
. Nach der Suche im Web konnte ich keine Lösung für dieses Problem finden.
Also, wie kann ich eine negative ganze Zahl von String analysieren und in int speichern mit j2me api set?
Es sollte nichts Besonderes sein, negative Zahlen im Vergleich zu positiven Zahlen zu analysieren.
%Vor%Der obige Code sollte einwandfrei funktionieren.
Was möglicherweise mit Ihrem Code falsch ist, ist, dass Sie versuchen, einen Gleitkommawert mit dem falschen Dezimaltrennzeichen zu analysieren. Wenn Ihr Gebietsschema .
als Dezimaltrennzeichen verwendet, ist der obige Code OK. Wenn Ihr Gebietsschema jedoch ,
als Dezimaltrennzeichen verwendet, schlägt das Parsen fehl (mit NumberFormatException
).
Stellen Sie also sicher, dass Sie das Original korrekt aufteilen und dass alle Teile nach der Teilung ein gültiges Format haben (z. B. mit dem richtigen Dezimaltrennzeichen).
Aktualisierung:
Wenn Sie wissen möchten, wie Sie eine Zahl mit einem bestimmten Gebietsschema analysieren, können Sie sich beispielsweise diese Frage .
Das ist seltsam, möglicherweise ist es ein Kodierungsproblem. Integer.parseInt () sollte mit positiven und negativen Zahlen sowie anderen ähnlichen Methoden arbeiten (Float.parse ...). Sie können immer nach einem Zeichen "-" oder "+" suchen, bevor Sie das Zeichen nach dem Parsen analysieren und zuweisen. Diese Methode hat ihren Vorteil, als ob Sie eine Zahl mit einem '+' Zeichen erhalten, die Standard Integer.parseInt funktioniert nicht.