Table of Contents

Formatierung von Zahlen durch gegebene Regeln

Informationen

  • Kategorien: Mehrsprachigkeit
  • Version: 19.0.0.7518
  • Veröffentlichungsdatum: Freitag, 31. Juli 2015
  • Entwickler: Poerschke
  • Benötigt Datenbankänderung: Nein
  • Betreff: Formatierung von Zahlen durch gegebene Regeln

Beschreibung

Es gibt nun ein Interface zu der Bibliothek ICU. Hier wurde die Kernfunktion IcuRuleBasedNumberFormat bereitgestellt. Diese Funktion formatiert eine Zahl anhand vorgegebener Regeln. Mit der Syntax, die in http://userguide.icu-project.org/formatparse/numbers/rbnf-examples und in der dort weiterführenden Dokumentation beschrieben ist, können eigene Regeln erstellt werden.

Es werden 3 eingebaute Regeln unterstützt:

#System.ICU.RuleBasedNumberFormat.Spellout Mit dieser eingebauten Regel können Zahlen in der vorgegebenen Sprache ausgeschrieben werden.

#System.ICU.RuleBasedNumberFormat.Ordinal Mit dieser eingebauten Regel können Zahlen in ihre Aufzählungsform gebracht werden.

#System.ICU.RuleBasedNumberFormat.Duration Mit dieser eingebauten Regel wird die angegebene Zahl als Sekunden interpretiert und in Stunden:Minuten:Sekunden ausgedrückt. Hierfür muss die Locale "en_US" angegeben sein.

Beispiele: IcuRuleBasedNumberFormat(#System.ICU.RuleBasedNumberFormat.Spellout, "fr_FR", 42) == "quarante-deux" IcuRuleBasedNumberFormat(#System.ICU.RuleBasedNumberFormat.Spellout, "nl_NL", 42) == "twee-ën-veertig" IcuRuleBasedNumberFormat(#System.ICU.RuleBasedNumberFormat.Count, "en_US", 42) == "42nd" IcuRuleBasedNumberFormat(#System.ICU.RuleBasedNumberFormat.Count, "de_DE", 42) == "42." IcuRuleBasedNumberFormat(#System.ICU.RuleBasedNumberFormat.Duration, "en_US", 123) == "2:03"

Diese Funktionen benötigen eine Datendatei, icudt55.dat, die angepasst werden kann auf "http://apps.icu-project.org/datacustom". Werden die Daten für die angegebene Locale nicht gefunden, wird die Default Locale von ICU benutzt, die durch die Einstellungen des Betriebssystems gegeben sind.

Die DLLs und die Datendatei werden nur bei Bedarf geladen - also wenn die Kernfunktionen benutzt werden.