String zu Double parsen (multiple points)

  • Themenstarter Themenstarter javanoobanf
  • Beginndatum Beginndatum
J

javanoobanf

Gast
Hallo,

ich möchte einen String 1.000,46 zu einem Double parsen, aber bekomme natürlich eine Exception, wenn ich folgendes versuche:

Java:
String a = "1.000,46";
double preis = Double.parseDouble(a.replaceAll(",", ".").trim());


Code:
Exception in thread "main" java.lang.NumberFormatException: multiple points
	at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
	at java.lang.Double.parseDouble(Unknown Source)
	at core.Test.main(Test.java:64)


Wie kann ich das richtig parsen, sodass am Ende 1000.46 rauskommt? Danke
 
Java:
double preis = Double.parseDouble("1.000,46".trim().replaceAll("\\.", "").replaceAll(",", "."));
 
Oder etwas schöner mit dem NumberFormat:
Java:
		NumberFormat nf = NumberFormat.getInstance();

		try {
			String a = "1.000,46";
			double d = nf.parse(a).doubleValue();
		} catch (ParseException e) {
			e.printStackTrace();
		}
 

Neue Themen


Zurück
Oben