James Hunt: Zahlenformat

Hi,
ich hab ein Problem mit Berechnungen und zwar habe ich ein Formular, in dem Preise eingetragen werden können - allerdings soll ein Komma als Dezimaltrennzeichen dienen.

Um mit PHP aber die Werte addieren zu können wird ein Punkt als Dezimaltrennzeichen verlangt.

Gibt es eine Funktion, die das Komma in einen Punkt umwandeln kann, damit PHP die Zahl weiterverarbeiten kann?

Vielen Dank im Voraus
James

  1. es eine Funktion, die das Komma in einen Punkt umwandeln kann, damit PHP die Zahl weiterverarbeiten kann?

    Vielen Dank im Voraus
    James

    jau schau mal bei den PHP String Methoden bei www.php.net nach

    oben rechts ist eine suche, da einfach 'string' eingeben :)

  2. Hallo,

    lass die eingabe durchsuchen und ersetze die kommas durch .

    ca. so
    $eingabe = str_replace(",", ".", $eingabe);

    MFG
    Andavos

    --
    http://www.rpgcommunity.de/clanwissen/index.php Webdesign, PHP, Clan-Aufbau und mehr
    1. Hello,

      lass die eingabe durchsuchen und ersetze die kommas durch .

      ca. so
      $eingabe = str_replace(",", ".", $eingabe);

      Das ist aber ungüsntig, wenn auch noch ein Punkt drinstehen sollte:

      Formular     Zwischenformat     Rechenformat
      3.237,55       3237,55            3237.55

      Erst schauen, wieviele Punkte und Kommata drin sind, dann erst tauschen.

      Liebe Grüße aus http://www.braunschweig.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      1. $eingabe = str_replace(",", ".", $eingabe);

        Das ist aber ungüsntig, wenn auch noch ein Punkt drinstehen sollte:

        Formular     Zwischenformat     Rechenformat
        3.237,55       3237,55            3237.55

        Hi,
        Danke für die vilen Antworten.
        Das mit Tausendertrennzeichen ist bei mir eigentlich kein Problem,
        sodass der oben beschriebende code völlig ausreichend ist.

        Danke nochmal!
        James

  3. Huhu James

    Gibt es eine Funktion, die das Komma in einen Punkt umwandeln kann, damit PHP die Zahl weiterverarbeiten kann?

    ganz trivial ist dieses Problem tatsächlich nicht, denn es ist ja auch durchaus üblich Tausenderpunkte/ Tausenderkommas zu verwenden.
    Denkbare Eingaben wären also z.B.

    12,345.65
    12.345,65
    12.5
    12,5
    0.12
    0,12
    12.567
    12,567
    1002,2356
    1002.2356
    1.002,2356
    1,002.2356

    Du musst also ggf. dem Benutzer sagen wie er den Betrag formatieren kann/soll und entsprechend überprüfen ob die Eingabe gültig ist.

    Viele Grüße

    lulu

    --
    bythewaythewebsuxgoofflineandenjoytheday