Heim > Backend-Entwicklung > PHP-Tutorial > Wie analysiert man unformatierte Geldwerte in PHP?

Wie analysiert man unformatierte Geldwerte in PHP?

Barbara Streisand
Freigeben: 2024-11-12 22:27:01
Original
448 Leute haben es durchsucht

How to Parse Unformatted Monetary Values in PHP?

Parsen unformatierter Geldwerte in PHP

Beim Versuch, als Zeichenfolgen dargestellte Geldwerte wie „75,25 €“ zu parsen Für ihre numerischen Äquivalente reicht es möglicherweise nicht immer aus, sich nur auf die Methode parsefloat() zu verlassen. Um diese Einschränkung zu beheben und Flexibilität über verschiedene Gebietsschemata und Trennzeichenformate hinweg sicherzustellen, ist eine komplexere Lösung erforderlich.

Diese Lösung nutzt reguläre Ausdrücke, um numerische Werte unter Berücksichtigung verschiedener möglicher Trennzeichen und Formate für Geldbeträge zu extrahieren. Bei gegebener Eingabezeichenfolge werden unnötige Zeichen zunächst mit preg_replace() entfernt. Nachfolgende Regex-Vorgänge identifizieren und entfernen Trennzeichen und Tausendertrennzeichen, was zu einer numerischen Zeichenfolge führt.

Schließlich wird die bereinigte Zeichenfolge einer Standardoperation str_replace() unterzogen, um das Dezimaltrennzeichen als Punkt zu vereinheitlichen, bevor es in eine Gleitkommazahl umgewandelt wird mit (float). Dieser umfassende Ansatz behandelt sowohl Punkt als auch Komma als Dezimaltrennzeichen und gewährleistet so eine genaue Analyse unabhängig vom Gebietsschema.

Hier ist ein Beispiel zur Veranschaulichung des Prozesses:

<?php

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);
}
Nach dem Login kopieren

Mit diesem Ansatz können Sie sicher sein Analysieren Sie unformatierte Geldzeichenfolgen und erhalten Sie unabhängig von Sprach- und Formatierungskonventionen zuverlässige numerische Werte.

Das obige ist der detaillierte Inhalt vonWie analysiert man unformatierte Geldwerte in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage