Heim >Backend-Entwicklung >PHP-Tutorial >Wie analysiere ich Währungszeichenfolgen in PHP mit mehreren Gebietsschemas?
Währungszeichenfolgen in PHP analysieren
Beim Parsen von Währungszeichenfolgen in PHP kann es je nach aktuellem Gebietsschema schwierig sein, mit unterschiedlichen Dezimaltrennzeichen umzugehen . Während die Verwendung von str_replace() zum Konvertieren von Kommas in Punkte in einigen Fällen funktionieren kann, basiert sie auf der Annahme, dass das Dezimaltrennzeichen immer ein Punkt ist.
Eine robustere Lösung
Um diese Einschränkung zu beseitigen und mehrere Gebietsschemata zu bedienen, besteht eine komplexere, aber vielseitige Lösung darin, reguläre Ausdrücke (Regex) zu verwenden. So geht's:
public function getAmount($money) { $cleanString = preg_replace('/([^0-9\.,])/i', '', $money); $onlyNumbersString = preg_replace('/([^0-9])/i', '', $money); $separatorsCountToBeErased = strlen($cleanString) - strlen($onlyNumbersString) - 1; $stringWithCommaOrDot = preg_replace('/([,\.])/', '', $cleanString, $separatorsCountToBeErased); $removedThousandSeparator = preg_replace('/(\.|,)(?=[0-9]{3,}$)/', '', $stringWithCommaOrDot); return (float) str_replace(',', '.', $removedThousandSeparator); }
Erklärung
Vorbehalte
Das obige ist der detaillierte Inhalt vonWie analysiere ich Währungszeichenfolgen in PHP mit mehreren Gebietsschemas?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!