PHP/MYSQL - Dezimalzahl wird falsch gespeichert?

2 Antworten

Hallo,

vorab gesagt kenne ich mich nicht so gut mit MySQL aus.

Wenn du nicht gerade Berechnungen in der Datenbank selbst ausführen willst, könntest du die Dezimalzahl auch einfach als String speichern.

Ansonsten fällt mir noch die Funktion number_format ein, mit der du eine Zahl im entsprechenden Format ausgeben kannst:

<?php echo number_format(12.34, 2, ',', '.') ?>

Diese Funktion sorgt dafür, dass die Zahl mit zwei Nachkommastellen, einem Komma als Trennzeichen sowie einem Punkt als Tausender-Trennzeichen angezeigt wird.

LG


BlogLesen 
Beitragsersteller
 07.01.2021, 19:02

Danke für dein Hilfeversuch Korbi. Leider funktioniert das nicht, weil das Zahlenformat ja schon nicht stimmt (also für den Interpretor).

number_format("12,65", 2, ",", ".");

Bringt den Fehler "A non well formed numeric value encountered" und das Ergebnis: 12,00

Also das gleiche was ich jetzt auch habe. Es liegt nicht an der Zahlenformatierung sondern am Zahlenformat das der Interpretor versteht. Der will englisches Format. Ich habe aber Eingaben im deutschen Format.

Beim Einlesen der Nutzereingabe via PHP kannst du die numfmt_parse-Funktion nutzen, um den Wert richtig zu parsen. Das Gegenstück für die Ausgabe wäre numfmt_format.

Schau dir zu beiden Funktionen die Beispiele an.


BlogLesen 
Beitragsersteller
 07.01.2021, 19:03

Danke Regex. Ich werde es mal probieren.

Was mich wundert ist das es doch möglich sein muss das der Interpretor das deutsche Zahlenformat versteht, nicht das englische.