# Multiplikation in Statusmail

**URL:** <https://forum.shopware.com/t/multiplikation-in-statusmail/92274>\
**Category:** Programmierung\
**Tags:** administration\
**Created:** [7. Januar 2022 um 14:32 UTC](https://forum.shopware.com/t/multiplikation-in-statusmail/92274 "2022-01-07T14:32:41Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![shop-betreiber](https://avatars.discourse-cdn.com/v4/letter/s/f08c70/32.png) [@shop-betreiber](https://forum.shopware.com/u/shop-betreiber)\
**Post date:** [7. Januar 2022 um 14:32 UTC](https://forum.shopware.com/t/multiplikation-in-statusmail/92274/1 "2022-01-07T14:32:42Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![phil](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/phil/32/13661_2.png) [@phil](https://forum.shopware.com/u/phil)\
**Post date:** [7. Januar 2022 um 14:48 UTC](https://forum.shopware.com/t/multiplikation-in-statusmail/92274/2 "2022-01-07T14:48:14Z")

</div>

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

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

```

Einfachere Berechnungen kann man [direkt in Smarty machen](https://www.smarty.net/docs/en/language.math.tpl), für komplexere Sachen kann man die [{math} Funktion](https://www.smarty.net/docs/en/language.function.math.tpl) verwenden.

LG Phil

---

<div class="post-metadata">

**Author:** ![shop-betreiber](https://avatars.discourse-cdn.com/v4/letter/s/f08c70/32.png) [@shop-betreiber](https://forum.shopware.com/u/shop-betreiber)\
**Post date:** [7. Januar 2022 um 15:18 UTC](https://forum.shopware.com/t/multiplikation-in-statusmail/92274/3 "2022-01-07T15:18:37Z")

</div>

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 ???

---

<div class="post-metadata">

**Author:** ![phil](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/phil/32/13661_2.png) [@phil](https://forum.shopware.com/u/phil)\
**Post date:** [7. Januar 2022 um 19:39 UTC](https://forum.shopware.com/t/multiplikation-in-statusmail/92274/4 "2022-01-07T19:39:24Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![shop-betreiber](https://avatars.discourse-cdn.com/v4/letter/s/f08c70/32.png) [@shop-betreiber](https://forum.shopware.com/u/shop-betreiber)\
**Post date:** [8. Januar 2022 um 18:12 UTC](https://forum.shopware.com/t/multiplikation-in-statusmail/92274/5 "2022-01-08T18:12:41Z")

</div>

> [@phil](#):
>
> round:2|

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