Krain Geschrieben 20. Mai 2003 Geschrieben 20. Mai 2003 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
Spoom Geschrieben 20. Mai 2003 Geschrieben 20. Mai 2003 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
Krain Geschrieben 20. Mai 2003 Autor Geschrieben 20. Mai 2003 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.
Spoom Geschrieben 20. Mai 2003 Geschrieben 20. Mai 2003 Schreib dir halt ne methode MyParseDouble() und da machst DU die Punkte weg und aus nem Komma machst Du nen Punkt ... MfG Spoom
Krain Geschrieben 20. Mai 2003 Autor Geschrieben 20. Mai 2003 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.
Spoom Geschrieben 20. Mai 2003 Geschrieben 20. Mai 2003 Naja Java ist "internationla" deswegen glaub ich kaum, das die sich an Deutsche konventionen halten.... Das ist wie mit den Datums Formaten ... MfG Spoom
Jaraz Geschrieben 20. Mai 2003 Geschrieben 20. Mai 2003 Also raten bringt ziemlich wenig. 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
Krain Geschrieben 20. Mai 2003 Autor Geschrieben 20. Mai 2003 Danke - werd ich gleich mal ausprobieren...
Empfohlene Beiträge
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 erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden