So ändern Sie das Dezimaltrennzeichen im DecimalFormat
In Ihrer bereitgestellten Methode formatBigDecimal möchten Sie BigDecimal-Werte in konvertieren lesbare Zeichenfolgen. Die Methode fügt jedoch ein unerwünschtes Gruppierungstrennzeichen (",") hinzu, das europäischen Zahlenformaten ähnelt. Sie suchen nach einer Methode, um dieses Trennzeichen durch einen Punkt oder einen Punkt zu ersetzen.
Gebietsschemabasierter Ansatz
Ein Ansatz besteht darin, ein bestimmtes Gebietsschema zu definieren, das einen Punkt als verwendet Gruppierungstrennzeichen. Das deutsche Gebietsschema verwendet beispielsweise dieses Format:
Locale currentLocale = Locale.getDefault(); NumberFormat nf = NumberFormat.getNumberInstance(Locale.GERMAN); DecimalFormat df = (DecimalFormat)nf;
DecimalFormatSymbols-Änderung
Eine weitere Option besteht darin, die DecimalFormatSymbols zu ändern, die Symbole definieren, die bei der Formatierung von Zahlen, einschließlich Dezimalzahlen, verwendet werden und Gruppierungstrennzeichen. So geht's:
DecimalFormatSymbols otherSymbols = new DecimalFormatSymbols(currentLocale); otherSymbols.setDecimalSeparator(','); otherSymbols.setGroupingSeparator('.'); DecimalFormat df = new DecimalFormat(formatString, otherSymbols);
wobei formatString das gewünschte Zahlenformatmuster darstellt.
Zusätzliche Überlegungen
Um unterschiedliche lokale Zahlendarstellungen zu berücksichtigen, müssen Sie kann einen Mechanismus implementieren, um das geeignete Gebietsschema basierend auf den Benutzereinstellungen oder dem Kontext der Anwendung zu bestimmen. Dieser Ansatz stellt sicher, dass die Dezimal- und Gruppierungstrennzeichen in verschiedenen Regionen wie erwartet angezeigt werden.
Das obige ist der detaillierte Inhalt vonWie kann ich Dezimal- und Gruppierungstrennzeichen in DecimalFormat anpassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!