String in Double bzw. Währung konvertieren

Avalon

Bekanntes Mitglied
Gibt es einen einfachen Weg den vorliegenden String

Java:
String wert = "1.484,10";

in Währung oder Double zu konvertieren? Oder muss man ihn komplett auseinander nehmen.
 
Beste Antwort
Java:
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.text.ParseException;
import java.util.Locale;
public class Zahlen {
  public static void main(String[] args) throws ParseException {
    DecimalFormat nf = (DecimalFormat) NumberFormat.getNumberInstance(Locale.GERMAN);
    nf.setParseBigDecimal(true);
    String wert = "1.484,10";
    System.out.println(nf.parse(wert));
  }
}
Java:
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.text.ParseException;
import java.util.Locale;
public class Zahlen {
  public static void main(String[] args) throws ParseException {
    DecimalFormat nf = (DecimalFormat) NumberFormat.getNumberInstance(Locale.GERMAN);
    nf.setParseBigDecimal(true);
    String wert = "1.484,10";
    System.out.println(nf.parse(wert));
  }
}
 
Beste Antwort
An dieser Stelle muss ich darauf hinweisen dass float/double komplett ungeeignet ist fuer Waehrungen und Geld. Aufgrund der Rundungsfehler bei Gleitkommazahlen kommt dabei einfach nur noch Murks heraus.

Wenn du mit Geld handierst, verwendest du am besten BigDecimal, das hat eine arbitraere Genauigkeit und damit keine Rundungsfehler. ... Ich glaube dafuer muss ich mal eine Wiederholung schreiben auf die ich verweisen kann.
 

Neue Themen


Zurück
Oben