Kaufpreis

Ich möchte, wenn eine neue Ware in die DB eingetragen wird, dass alle Zeichen entfernt werden:

z.B.
Eingabe: 100.000,00 € -> Speicherung: 100000
oder
Eingabe: € 100.000,-- -> Speicherung: 100000.

Wird dieser Wert wieder aus der DB ausgelesen, soll er wie folgt dargestellt werden:

100.000,00 €

Ich weiß, wie ich das €-Zeichen, die Striche und den Punkt wegbekomme. Ich weiß allerdings nicht, wie ich die beiden letzten 00 wegbekomme und bei der Anzeige den Punkt sowie die beiden Nullen wieder einfügen kann.

Jemand eine Idee?
Gruß
Herbert

Hallo Herbert,

Ich weiß allerdings nicht, wie ich die
beiden letzten 00 wegbekomme und bei der Anzeige den Punkt
sowie die beiden Nullen wieder einfügen kann.

Nur so zum Verständnis: Ist Dir klar, dass Du laut Deinen Schilderungen keine Cent-Beträge sondern nur Ganzzahlen (Integer) verwenden kannst, oder? Das entnehme ich jedenfalls der Andeutung, dass die beiden letzten 00 entfernt werden sollen… Dann stellt sich generell und unabhängig von Deinem Problem die Frage, warum Du Kaufpreisangaben als Integer behandeln möchtest…!?

Um die beiden letzten Nullen zu entfernen schlage ich folgendes vor

$zahl = „10000,00“;
$ohne_format = number_format($zahl,0,’,’,’’);

Alternativ zu number_format funktioniert auch

$ohne_format = substr($zahl,0,(strlen($zahl)-3));

Achte bei der Variante mit number_format aber darauf, dass die übergebene Zahl den Punkt nicht mehr enthält.

Und wenn Du den „gesäuberten“ Wert wieder mit voller Formatierung anzeigen möchtest:

$mit_format = number_format($ohne_format,2,’,’,’.’);

Hallo Carsten,
danke für Deine Hilfe.
Es handelt sich um eine Immobiliendatenbank. Da rechnet man nicht mit cent :wink:) . Ich möchte verhindern, dass bei der Objekteingabe mehrere unterschiedliche Schreibweisen verwendet werden (bzw. nicht bei der Eingabe sondern bei der Speicherung). Weiterhin finde ich es auch in einem Suchformular ganz sinnvoll.
Gruß
Herbert