NumberFormatter: Bereichsbezogen, global
Die NumberFormatter- API enthält Methoden, die entsprechend der Sprache des aktuellen Anwenders formatierte Zahlen zurückgeben.
Diese API ist in bereichsbezogenen und globalen Apps verfügbar und wird im Namespace sn_i18n ausgeführt.
Bei der Formatierung nach Sprache oder Gebietsschema können Anwender die Zahlen wie erwartet anzeigen. Wenn das Gebietsschema beispielsweise „fr“ (Französisch) ist, wird mit dem Wert 100,00 der Wert 100,00 zurückgegeben.
NumberFormatter: Format (Nummer)
Gibt eine Zeichenfolgendarstellung einer Zahl zurück, die gemäß der Spracheinstellung des aktuellen Anwenders formatiert ist.
| Name | Typ | Beschreibung |
|---|---|---|
| Nummer | Nummer | Anzahl in beliebiger Größe. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Zahl formatiert gemäß der Spracheinstellung des aktuellen Anwenders. |
Das folgende Beispiel zeigt die Rückgabeergebnisse für einen Anwender, dessen Sprache auf Spanisch festgelegt ist.
gs.info("Number is: " + sn_i18n.NumberFormatter.format(123456.789));
gs.info("Number is: " + sn_i18n.NumberFormatter.format(-123456.789));
Ausgabe:
Number is: 123.456,789
Number is: -123.456,789
NumberFormatter – formatLang(Nummer, Zeichenfolgensprache)
Gibt eine Zeichenfolgendarstellung einer Zahl zurück, die entsprechend der als Parameter übergebenen Sprache formatiert ist.
| Name | Typ | Beschreibung |
|---|---|---|
| Nummer | Nummer | Anzahl in beliebiger Größe. |
| language | Zeichenfolge | Sprach-Tag gemäß IETF BCP-47. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Zahl formatiert entsprechend der als Parameter übergebenen Sprache. |
Das folgende Beispiel zeigt die Ausgabe für die Spracheinstellung Deutsch.
gs.info("Number is: " + sn_i18n.NumberFormatter.formatLang(123456.789, "de-de"));
gs.info("Number is: " + sn_i18n.NumberFormatter.formatLang(-123456.789, "de-de"));
Ausgabe:
Number is: 123.456,789
Number is: -123.456,789
NumberFormatter - parseWithLocale(Zeichenfolgennummer, Zeichenfolgensprache, Zeichenfolgenland)
Analysiert eine Zahl aus einer übergebenen Textzeichenfolge und durchläuft sie von links nach rechts, um den numerischen Wert zu extrahieren. Anschließend werden die übergebenen Länder- und Sprachcodes verwendet, um das Gebietsschema der Nummer zu identifizieren, und die analysierte Nummer wird in diesem Format zurückgegeben.
Diese Methode analysiert die Zeichenfolge, bis sie ein Zeichen erreicht, das nicht als numerischer Wert oder Währungstrennzeichen erkannt wird.
| Name | Typ | Beschreibung |
|---|---|---|
| Nummer | Zeichenfolge | Zu analysierende Zeichenfolge. Diese Zeichenfolge kann numerische Werte und Währungstrennzeichen wie Kommas und Dezimalstellen enthalten. Beispiel: „24.506,55“ oder „45.677,89“. |
| language | Zeichenfolge | Zweistelliger ISO-639-Sprachcode. |
| country | Zeichenfolge | Zweistelliger ISO-3166-Ländercode. |
| Typ | Beschreibung |
|---|---|
| Nummer | Analysierte Zahl im Format des angegebenen Gebietsschemas. Löst eine Ausnahme aus, wenn das erste Zeichen der Zeichenfolge nicht analysiert werden kann. Zum Beispiel:
|
Im folgenden Codebeispiel wird das Analysieren von Zeichenfolgen für verschiedene Gebietsschemata sowie das Analysieren einer Zeichenfolge mit unerwarteten Trennzeichen demonstriert. Im letzten Beispiel wird die Zeichenfolge nur teilweise analysiert, da ein Leerzeichen kein gültiges Trennzeichen ist.
var x = sn_i18n.NumberFormatter.parseWithLocale("48,837.77", "en", "US");
var y = sn_i18n.NumberFormatter.parseWithLocale("77.931,22", "de", "DE");
var z = sn_i18n.NumberFormatter.parseWithLocale("562 339,89", "fr", "FR");
var specialCase = sn_i18n.NumberFormatter.parseWithLocale("400 797,67", "en", "US");
gs.info(x);
gs.info(y);
gs.info(z);
gs.info(specialCase);
Ausgabe:
48837.77
77931.22
562339.89
400
NumberFormatter - parseWithSeparators(String number, String groupingSeparator, String decimalSeparator)
Analysiert eine Zahl aus einer übergebenen Textzeichenfolge und gibt sie von links nach rechts zurück, bis ein Zeichen gefunden wird, das nicht analysiert werden kann. Analysierbare Werte umfassen Zahlen sowie die angegebenen Gruppierungen und Dezimaltrennzeichen.
| Name | Typ | Beschreibung |
|---|---|---|
| Nummer | Zeichenfolge | Zu analysierende Zeichenfolge. Diese Zeichenfolge kann numerische Werte und die angegebenen Trennzeichen wie Kommas und Dezimalstellen enthalten. Beispiel: „24.506,55“ oder „45.677,89“. |
| groupingTrennzeichen | Zeichenfolge | Zeichen, das das Gruppierungstrennzeichen (auch als Tausendertrennzeichen bezeichnet) innerhalb der übergebenen Zeichenfolge angibt. Beispiel: Komma ",", Punkt „.“ oder Leerzeichen „ “. |
| Dezimaltrennzeichen | Zeichenfolge | Zeichen, das das Dezimaltrennzeichen innerhalb der übergebenen Zeichenfolge angibt. Beispiel: Komma ",", Punkt „.“ oder Leerzeichen „ “. |
| Typ | Beschreibung |
|---|---|
| Nummer | Analysierte Zahl. Löst eine Ausnahme aus, wenn das erste Zeichen der Zeichenfolge nicht analysiert werden kann. Zum Beispiel:
|
Das folgende Codebeispiel zeigt, wie Zahlen anhand verschiedener Trennzeichen analysiert werden. Beachten Sie, dass im endgültigen Analysebeispiel nur die ersten drei Ziffern der Zahl analysiert werden, da ein Leerzeichen kein gültiges Trennzeichen ist.
var x = sn_i18n.NumberFormatter.parseWithSeparators('48,837.77', ',', '.');
var y = sn_i18n.NumberFormatter.parseWithSeparators('77.931,22', '.', ',');
var z = sn_i18n.NumberFormatter.parseWithSeparators('562 339,89', ' ', ',');
var specialCase = sn_i18n.NumberFormatter.parseWithSeparators('400 797,67', '.', ',');
gs.info(x);
gs.info(y);
gs.info(z);
gs.info(specialCase);
Ausgabe:
48837.77
77931.22
562339.89
400