DecimalFormat.parse() funktioniert nicht?

Hallo zusammen,

ich versuche mich gerade an folgendem Code, aber es funktioniert nicht:

DecimalFormat dF = new DecimalFormat("#,###");

try {
System.out.println(wertFormat.parse(„12345“));
} catch (Exception e) {

}

Eigentlich erwarte ich, dass da 12.345 dabei rauskommt, aber stattdessen gibt’s nur 12345 als Ausgabe und Punkt und Komma :wink:

Übersehe ich irgendetwas?

Freu mich über Eure Hilfe.

Schöne Grüße sendet
Sandra

Auch hallo.

ich versuche mich gerade an folgendem Code, aber es
funktioniert nicht:

DecimalFormat dF = new DecimalFormat("#,###");

try {
System.out.println(wertFormat.parse(„12345“));
} catch (Exception e) {

}

Eigentlich erwarte ich, dass da 12.345 dabei rauskommt, aber
stattdessen gibt’s nur 12345 als Ausgabe und Punkt und Komma
:wink:

Zum vergleich der Quellcode Nr 1705 von javabuch.de:
–> k100118.html#listingid017005
****************************************************
001 /* Listing1705.java */
002
003 import java.text.*;
004
005 public class Listing1705
006 {
007 public static void print(double value, String format)
008 {
009 DecimalFormat df = new DecimalFormat(format);
010 System.out.println(df.format(value));
011 }
012 public static void main(String[] args)
013 {
014 double value = 1768.3518;
015 print(value, „#0.0“);
016 print(value, „#0.000“);
017 print(value, „000000.000“);
018 print(value, „#.000000“);
019 print(value, „#,###,##0.000“);
020 print(value, „0.000E00“);
021 }
022 }
***************************************************************
Die Ausgabe des Programms lautet:
1768,4
1768,352
001768,352
1768,351800
1.768,352
1,768E03

HTH
mfg M.L.

Hallöchen,

danke für den Auszug.
Leider handelt es sich dabei aber nicht DecimalFormat.parse(), sondern format() und format() erwartet einen doublewert. Ich möchte aber gerne einen String parsen. Funktioniert das nicht?

Gruß
Sandra

danke für den Auszug.
Leider handelt es sich dabei aber nicht DecimalFormat.parse(),
sondern format() und format() erwartet einen doublewert. Ich
möchte aber gerne einen String parsen. Funktioniert das nicht?

Ohne jetzt Doku gelesen zu haben ob das auch geht, aber Double.parseDouble(String) macht dir schon mal ne double aus dem String.

Hallo zusammen,

Hallo auch,

ich versuche mich gerade an folgendem Code, aber es
funktioniert nicht:

DecimalFormat dF = new DecimalFormat("#,###");

try {
System.out.println(wertFormat.parse(„12345“));
} catch (Exception e) {

}

Vielleicht hab ich gerade nen Knoten im Hirn: Ist dF und wertFormat das gleiche Objekt???

Darüber hinaus könnte in Blick in die API helfen:
Die Klasse DecimalFormat hat keine Methode parse(String). Sie hat die Methode parse(String, ParsePosition). Die parse-Methode, die du da aufrufst, ist in der Klasse NumberFormat (Ich weiß jetzt aber nicht, was die da genau macht).

Eigentlich erwarte ich, dass da 12.345 dabei rauskommt, aber
stattdessen gibt’s nur 12345 als Ausgabe und Punkt und Komma
:wink:

Könnte an dem oben genannten Grund liegen :wink:
Wahrscheinlich parst dir die NumberFormat-Klasse einfach einen String in eine Number.

Schöne Grüße sendet
Sandra

Schöne Grüße zurück.

Danke
Besten Dank… genauso hab ich’s jetzt auch realisiert :wink:

Hallöchen,

sorry… genau… df und wertFormat sind ein und dasselbe. Im Code steht’s aber richtig :wink:
Hab’s nun gelöst indem ich format() genommen habe und den String vorher in double geparst habe.

Gruß
Sandra