Raketenwissenschaftler: 5.000 € Notice: A non well formed numeric value encountered

Beitrag lesen

Aber wer den Punkt oder das Komma als Tausendertrenner zulässt, muss das auch für den Tausendsteltrenner tun.

Mit 5.001,002,003 oder 5,001.002.003 oder klappt das. Mit 5.001,002 und 5,001.002 (da wäre das Komma wohl in Amerika das „tausendstel-Trennzeichen“) kommt jetzt 5001.002 raus. Ebenso bei 5,000 und 5.000 kommt es auf die Spracheinstellung des Browsers an. Wie schon geschrieben: das Ding kann in vielen Situationen nur spekulieren. „Shit-In -> Shit-out“ ist eines der Grundgesetze der Informatik.

Andere Tausender- und tausendstel-Trennzeichen (Akzent, schmale und breite Leerzeichen) werden (wie jeder andere „Nicht-Zahlen-Kram“) jetzt brutal gelöscht. Das mag auch deshalb genügen, weil die Chose noch einigermaßen performant bleiben muss.

Noch ein Fehler behoben: Auf 32-Bit-Systemen (Raspi) war dank (int) bei etwas mehr als 2 Millionen „Schluss mit lustig“. echo $PHP_INT_MAX gibt Auskunft, warum das so ist.