Ändern DecimalFormat locale
Habe ich benutzerdefinierte DecimalFormat
im Edittext ' s addTextChangedListener Methode, alles funktioniert perfekt, aber wenn ich ändern der Sprache (Gebietsschema) meine addTextChangedListener nicht funktioniert.
double answer = inputDouble * counterToDouble;
DecimalFormat df = new DecimalFormat("##.########");
//df=(DecimalFormat)numberFormat;
df.setRoundingMode(RoundingMode.DOWN);
answer = Double.parseDouble(df.format(answer));
unicoinsAmmount.setText(String.valueOf(df.format(answer)));
Suchte ich über mein problem und fand eine NumberFormat
Lösung:
NumberFormat numberFormat = NumberFormat.getNumberInstance(Locale.US);
aber ich weiß nicht, wie kann ich diesen code verwenden.
- Versuchen DecimalFormat df = DecimalFormat.getInstance(Locale.US);
- danke, aber ich wie, die ich verwenden kann Gebietsschema mit diesem Muster ##.########? @Viren
- Versuchen DecimalFormat formater = DecimalFormat.getInstance(Locale.US); formater.applyPattern("#.##");
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie versuchen, indem Sie zuerst konvertieren, um
NumberFormat
und dann warf es zuDecimalFormat
Können Sie auch angeben, Gebietsschema für
DecimalFormat
diese Weise:Können Sie eine grundlegende Konstruktor Locale zu setzen, während die Schaffung von DecimalFormat-Objekt:
Verwenden Sie einfach diese Methode zum konvertieren von aktuellen Lokalisierung klug Zahl,
Folgen oder dieser link.
wenn Sie möchten, verwenden Sie nur NumberFormat, die Sie tun können, auf diese Weise:
unicoinsAmmount.setText(NumberFormat.getNumberInstance(Locale.US).format(vc));