Multiplikation in Statusmail

Hallo zusammen und ein gesundes neues Jahr,
ich möchte gern in der Statusmeldung eine Rechnung vornehmen.

es soll vom Betrag {$sOrder.invoice_amount|string_format:"%.2f"} €
3% abgezogen werden.

Also dachte ich {$sOrder.invoice_amount|string_format:"%.2f" *0,97} €
oder {($sOrder.invoice_amount|string_format:"%.2f") *0,97} €

Leider ruft das einen fehler hervor.
wie kann ich die Ausgabe richtig berechnen?

viele Grüße

Das kann nicht funktionieren, denn Du versuchst einen String mit 0.97 zu multiplizieren. Also erst rechnen, dann formatieren:

{$sOrder.invoice_amount*0.97|string_format:"%.2f"}

Einfachere Berechnungen kann man direkt in Smarty machen, für komplexere Sachen kann man die {math} Funktion verwenden.

LG Phil

Ja logisch mein Fehler. Herzlichen DANK

Merkwürdig das er aber trotzdem 3 Stellen nach dem Komma ausgibt !
{$sOrder.invoice_amount*0.95|string_format:"%.2f"} €

Warum x,655 statt x,66 ???

Wundert mich ein wenig, dass der precision-Parameter vom sprintf hier nicht greift. Versuch mal zusätzlich noch vorher auf zwei Stellen zu runden:
{($sOrder.invoice_amount*0.97)|round:2|string_format:"%.2f"}

Wichtig sind beim round modifier die runden Klammern, in Smarty 3 wird sonst nicht der ganze Ausdruck, sondern nur der letzte Parameter gerundet.

LG Phil

Ok super das klappt :wink: Tausend DANK. scheinbar liegt es an der Multiplikation ;( Schönes Wochenende