it-swarm.com.de

Analysieren und Formatieren von Zahlen entsprechend dem Gebietsschema des Benutzers

Ich frage mich, ob es eine J-API-Möglichkeit gibt, Zahlen zu analysieren und zu formatieren (wie JDate).

Wenn Sie Dezimalzahlen in verschiedene Gebietsschemata konvertieren, kann der Benutzer auf diese Weise Zahlen eingeben "1.234.567.891" und Joomla muss sie in SQL als "1234567.891" speichern und schließlich muss die Zahl als "1.234.567.891" angezeigt werden. Natürlich geben die meisten Benutzer nur "1234567,891" ein, und die Konvertierung nach SQL muss ähnlich funktionieren.

So etwas wie numfmt_parse und numfmt_format.

$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
$num = "1.234.567,891";
echo numfmt_parse($fmt, $num)."\n";
echo numfmt_parse($fmt, $num, NumberFormatter::TYPE_INT32)."\n";

Gibt es eine bessere Möglichkeit, Floats entsprechend der Ländereinstellung des Benutzers zu konvertieren?

2
Anibal

Es gibt die Klasse JHtmlNumber, aber es gibt nur eine Methode zum Konvertieren von Bytes.

Weil Joomla! verwendet keine INTL-Erweiterung, die Formatierung dort erfolgt mit einfachem number_format() mit Sprachzeichenfolgen (THOUSANDS_SEPARATOR und DECIMALS_SEPARATOR) als Trennzeichen. Die Formatierung hängt also von der Sprache des Benutzers ab.

1
Sharky