NumberFormatter: Bereichsbezogen, Global
Die NummerFormatter Die API enthält Methoden, die Zahlen zurückgeben, die gemäß der Sprache des aktuellen Anwenders formatiert sind.
Diese API ist in bereichsbezogenen und globalen Apps verfügbar und wird in ausgeführt sn_i18n Namespace.
Wenn sie nach Sprache oder Gebietsschema formatiert sind, können Anwender Zahlen wie erwartet anzeigen. Wenn das Gebietsschema beispielsweise fr (Französisch) ist, gibt ein als 100,00 angegebener Wert 100 zurück.
NumberFormatter – Format(Nummernnummer)
Gibt eine Zeichenfolgendarstellung einer Zahl zurück, die gemäß der Spracheinstellung des aktuellen Anwenders formatiert ist.
| Name | Typ | Beschreibung |
|---|---|---|
| Nummer | Anzahl | Anzahl beliebiger Größe. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Zahl, die gemäß der Spracheinstellung des aktuellen Anwenders formatiert ist. |
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(Nummernnummer, Zeichenfolgensprache)
Gibt eine Zeichenfolgendarstellung einer Zahl zurück, die entsprechend der als Parameter übergebenen Sprache formatiert ist.
| Name | Typ | Beschreibung |
|---|---|---|
| Nummer | Anzahl | Anzahl beliebiger Größe. |
| language | Zeichenfolge | Sprach-Tag gemäß IETF BCP-47. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Zahl, die entsprechend der als Parameter übergebenen Sprache formatiert ist. |
Das folgende Beispiel zeigt die Ausgabe für die deutsche Spracheinstellung.
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 sie nicht als numerischen Wert oder Währungstrennzeichen erkennt.
| 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 |
|---|---|
| Anzahl | Analysierte Zahl im Format des angegebenen Gebietsschemas. Löst eine Ausnahme aus, wenn das erste Zeichen der Zeichenfolge nicht analysiert werden kann. Zum Beispiel:
|
Das folgende Codebeispiel zeigt das Analysieren von Zeichenfolgen für verschiedene Gebietsschemata sowie das Analysieren einer Zeichenfolge mit unerwarteten Trennzeichen. Das letzte Beispiel analysiert die Zeichenfolge nur teilweise, 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(Zeichenfolgennummer, ZeichenfolgengroupingSeparator, Zeichenfolge decimalSeparator)
Analysiert und gibt eine Zahl aus einer übergebenen Textzeichenfolge zurück, die von links nach rechts durchläuft wird, bis ein Zeichen gefunden wird, das nicht analysiert werden kann. Analysierbare Werte umfassen Zahlen und die angegebene Gruppierung 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“ . |
| GroupingSeparator | 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 |
|---|---|
| Anzahl | Analysierte Nummer. Löst eine Ausnahme aus, wenn das erste Zeichen der Zeichenfolge nicht analysiert werden kann. Zum Beispiel:
|
Das folgende Codebeispiel zeigt, wie Zahlen mithilfe verschiedener Trennzeichen analysiert werden. Beachten Sie, dass das endgültige Analysebeispiel nur die ersten drei Ziffern der Zahl analysiert, 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