Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo zusammen,

Gibt es in Java eine Klasse mit der ich einen String (Bsp. 100.000.000,99)

in einen Double oder BigDecimal umwandeln kann, ohne dass ich den String

vorher mit replace() bearbeiten muss?

Die umgekehrte Methode kenne ich, dass man einen Double über DecimalFormat

in einen String umwandeln kann.

Aber wie bekomme ich einen gültigen Double oder besser BigDecimal zurück?

Lässt sich das über die Number-Klasse irgendwie bewerkstelligen??

Danke im Voraus

Krain

Geschrieben

Also normalerweise konvertiert man mit Double.parseDouble(arg0)

aber wenn Da Kommas oder zu viel Punkte drin sind birngt er ne NumberFormat Exception.

MfG Spoom

Geschrieben

Ja - das weiß ich ja.

Ich dachte, dass das vielleicht über die Locale funktionieren könnte.

Natürlich müsste der String auch ein gültiges Format haben.

Wie in DE '.' für Tausendertrennung

und ',' für Nachkommastellen.

Geschrieben

Schreib dir halt ne methode MyParseDouble() und da machst DU die Punkte weg und aus nem Komma machst Du nen Punkt ...

MfG Spoom

Geschrieben

Danke - Das hab ich ja schon. Aber meinem Projektleiter gefällt das so nicht ganz.

Deswegen sollte ich nach einer 'besseren' Methode suchen.

Aber mir fällt nichts gescheites mehr dazu ein.

Geschrieben

Naja Java ist "internationla" deswegen glaub ich kaum, das die sich an Deutsche konventionen halten....

Das ist wie mit den Datums Formaten ...

MfG Spoom

Geschrieben

Also raten bringt ziemlich wenig. :rolleyes:

DecimalFormat df = new DecimalFormat();

Number n = df.parse("1.000.000.000,99");

double x = n.doubleValue();

DecimalFormat:

Creates a DecimalFormat using the default pattern and symbols for the default locale. This is a convenient way to obtain a DecimalFormat when internationalization is not the main concern.

oder:

NumberFormat df = NumberFormat.getInstance();

Number n = df.parse("1.000.000.000,99");

double x = n.doubleValue();

NumberFormat:

Helps you to format and parse numbers for any locale.

Your code can be completely independent of the locale conventions for decimal points, thousands-separators, or even the particular decimal digits used, or whether the number format is even decimal.

Gruß Jaraz

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...