Deutsche Zahlenformate

  • Hallo,


    ich entwickle gerade eine kleine App, bei der eine Zahl eingegeben werden soll. Dann wird mit dieser Zahl ein bisschen gerechnet und dann schließlich das Ergebnis auf 2 Nachkommastellen gerundet ausgegeben. Das Problem ist jetzt das Zahlenformat.


    Für das Eingabetextfeld habe ich die Eigenschaft

    Code
    android:inputType ="number|numberSigned|numberDecimal"

    gesetzt, damit nicht die Buchstabentastatur sondern direkt die Zahlentastatur angezeigt wird. Hier schon das erste Problem: Auch mit deutschem Spracheinstellungen kann man kein Komma einfügen, nur einen Punkt.


    Das Anzeigen des Ergebnisses habe ich so gemacht:


    Code
    public java.text.DecimalFormat Df =  new java.text.DecimalFormat("0.00");
    Anzeige.setText(Df.format(Ergebnis));


    Komischerweise wird bei deutschen Spracheinstellungen das Ergebnis jetzt mit Komma statt mit Punkt ausgegeben!
    Am Ende wird das Ergebnis gespeichert:


    Code
    SharedPreferences settings = getSharedPreferences(Gespeichert,0);
    		SharedPreferences.Editor editor = settings.edit();
    		editor.putString("Inhalt",Df.format(Ergebnis));


    Das größte Problem besteht jetzt beim Laden. Denn wenn das Ergebnis eine ganze Zahl war, funktioniert das Laden. Wenn aber eine Kommazahl gespeichert wurde, stürzt die App ab. Ich vermute, dass das Konvertieren des Strings mit der Kommazahl (statt von Java erwartetem Punkt) in eine Double-Variable nicht funktioniert.
    Hier noch der Code des Ladens:


    Code
    SharedPreferences settings = getSharedPreferences(Gespeichert,0);
          		Ergebnis = Double.valueOf(settings.getString("Inhalt","0"));
    Anzeige.setText(nf.format(Ergebnis));


    Es wäre super, wenn ihr mir helfen könntet. Es braucht eigentlich nur für Deutsch (also mit Komma) zu funktionieren. Perfekt wäre es natürlich variabel je nach Ländereinstellung.


    Viele Grüße!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!