Zahlen Formatieren mit Smarty

Hallo Zusammen, ich möchte den Inhalt des Felder purchaseunit an anderer Stelle im Shop ausgeben lassen. Nun habe ich Artikel in einer Einheit von z.B. 1000 Stück dann steht unter purchaseunit: 1000.0000 Oder auch Artikel in einer Kommazahl in der Einheit von z.B. 12,5 kg dann steht in der purchaseunit 12.5000 Ich würde gerne die Ausgabe von purchaseunit formatieren, so dass: 1000.0000 = 1000 12.5000 = 12,5 Also bei Einheiten ohne Komma (.0000) diese dann auch ohne Komma dargestellt werden. Und bei Zahlen mit Komma (.5000) diese dann entsprechend mit den vorhandenen Kommazahlen dargestellt werden. Würde mich freuen, wenn Ihr mir da auf die Sprünge helfen könntet. Danke & Gruß Daniel

{$wert|string\_format:"%.2f"}

Hallo benblub, danke für Deine Antwort, aber leider funktioniert Dein Code nicht wie gewünscht. Damit werden die Zahlen immer mit 2 Nachkommastellen angezeigt. Gewünscht ist aber: Wenn die purchaseunit eine Nachkommasatelle hat, dann soll diese angezeigt werden. Hat die purchaseunit KEINE Nachkommastelle (also am Ende den Wert .0000), dann soll die Zahl ohne Komma darstellt werden. Gruß Daniel

Hallo Daniel, soweit mir bekannt kann man Smarty nicht auf float prüfen, allerdings könntest du das mit php machen dann halt je nach ergebnis das entsprechende smarty Tag nutzen. Beispiel $tempzahl = explode(".", $zahl); if (isset($tempzahl[1]) && $tempzahl[1] \> 0) { // Zahl hat nachkommastellen \> 0 }

1 „Gefällt mir“

Super Danke - klappt prima