Krain Geschrieben 20. Mai 2003 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Spoom Geschrieben 20. Mai 2003 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Krain Geschrieben 20. Mai 2003 Autor Teilen 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Spoom Geschrieben 20. Mai 2003 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Krain Geschrieben 20. Mai 2003 Autor Teilen 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Spoom Geschrieben 20. Mai 2003 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 20. Mai 2003 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Krain Geschrieben 20. Mai 2003 Autor Teilen Geschrieben 20. Mai 2003 Danke - werd ich gleich mal ausprobieren... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.