# Zahlenformatierung für Preise &gt; 1.000 €

**URL:** <https://forum.shopware.com/t/zahlenformatierung-fur-preise-gt-1-000/24280>\
**Category:** Shopware 3.5\
**Tags:** general\
**Created:** [23. Dezember 2014 um 16:49 UTC](https://forum.shopware.com/t/zahlenformatierung-fur-preise-gt-1-000/24280 "2014-12-23T16:49:54Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Knightmare](https://avatars.discourse-cdn.com/v4/letter/k/3ab097/32.png) [@Knightmare](https://forum.shopware.com/u/Knightmare)\
**Post date:** [23. Dezember 2014 um 16:49 UTC](https://forum.shopware.com/t/zahlenformatierung-fur-preise-gt-1-000/24280/1 "2014-12-23T16:49:54Z")

</div>

Hallo, ich habe ein Problem mit der Formatierung meiner Preise : Wir haben in unserem Shop einige Teile die mehr als 1.000 € kosten, einige auch über 10.000. Das fällt aus einigen Boxen raus (ist zu breit bei dem Responsive Template. Da ich nicht die Schrift kleiner machen will und die ,00 hinter jedem Artikel eh nur stört möchte ich diese Artikel statt 15.999,00 € als 15.999 € Formatieren. Das hat jetzt jemand so für mich gelöst : `{if $sArticle.price \>= 1000} {$sArticle.price|currency|regex\_replace:"/,[0-9]+/":""} {else} {$sArticle.price|currency} {/if}` Das funktioniert auch zum Teil. Leider benutze ich auch die englische Übersetzung. Die Lokalisierungseinstellung en\_GB formatiert aber den Preis so 15,000.00 € Der Code oben macht dann daraus € 15.00 :wtf: Zum Glück hat noch keiner was bestellt… Hat da einer eine Idee ? Kann man die Zahlenformatierung für die eingestellt Lokalisierung umstellen? Wenn ich den englischen Subshop auf de\_DE umstelle werden leider einige Shopseiten in deutsch angezeigt, und ich kann im Backend keine Übersetzungen eingeben. Irgendeine Lösung wäre schön. Ich hatte daran gedacht, den obigen Codeschnipsel um eine locale\_id Abfrage zu erweitern, hab aber leider keine Ahnung wie die genaue Syntax wäre. So etwa stelle ich mir das vor : `{if $locale\_id = 1} {if $sArticle.price \>= 1000} {$sArticle.price|currency|regex\_replace:"/,[0-9]+/":""} {else} {$sArticle.price|currency} {/if} {else} {if $sArticle.price \>= 1000} {$sArticle.price|currency|regex\_replace:"/.[0-9]+/":""} {else} {$sArticle.price|currency} {/if}` Das geht aber so nicht. Ich schätze mal, eine locale\_id gibt es nicht?? Ansonsten : Frohe Weihnachten Grüße Tom

---

<div class="post-metadata">

**Author:** ![artep](https://avatars.discourse-cdn.com/v4/letter/a/aca169/32.png) [@artep](https://forum.shopware.com/u/artep)\
**Post date:** [23. Dezember 2014 um 17:37 UTC](https://forum.shopware.com/t/zahlenformatierung-fur-preise-gt-1-000/24280/2 "2014-12-23T17:37:50Z")

</div>

Hi, schau mal hier: [post71957.html?hilit=preis%20komma#p71957](http://forum.shopware.com/post71957.html?hilit=preis%20komma#p71957) vieleicht hilft es. Ob es auch im englischen Shop geht weiß ich nicht.

---

<div class="post-metadata">

**Author:** ![Knightmare](https://avatars.discourse-cdn.com/v4/letter/k/3ab097/32.png) [@Knightmare](https://forum.shopware.com/u/Knightmare)\
**Post date:** [23. Dezember 2014 um 18:36 UTC](https://forum.shopware.com/t/zahlenformatierung-fur-preise-gt-1-000/24280/3 "2014-12-23T18:36:20Z")

</div>

Hallo Petra, vielen Dank für den Versuch, aber… das wars leider nicht. Die Funktion replace unterscheidet sich ja nur im Details zu der von mir schon genutzten Funktion regex\_replace. Das Ergebnis ist also das selbe… Trotzdem. War ein Versuch Grüße Tom

---

<div class="post-metadata">

**Author:** ![Creatixx](https://avatars.discourse-cdn.com/v4/letter/c/c67d28/32.png) [@Creatixx](https://forum.shopware.com/u/Creatixx)\
**Post date:** [23. Dezember 2014 um 23:20 UTC](https://forum.shopware.com/t/zahlenformatierung-fur-preise-gt-1-000/24280/4 "2014-12-23T23:20:51Z")

</div>

Hallo, habe es jetzt nicht getestet, aber versuch das ganze mal mit `{if $Locale = "de\_DE"}`

---

<div class="post-metadata">

**Author:** ![Knightmare](https://avatars.discourse-cdn.com/v4/letter/k/3ab097/32.png) [@Knightmare](https://forum.shopware.com/u/Knightmare)\
**Post date:** [24. Dezember 2014 um 09:52 UTC](https://forum.shopware.com/t/zahlenformatierung-fur-preise-gt-1-000/24280/5 "2014-12-24T09:52:24Z")

</div>

Hallo Creatixx, vielen Dank. Die Variable ist schon mal die richtige. mit `{if $Locale == "de\_DE"}` bzw. `{if $Locale != "de\_DE"}` komme ich schon mal weiter. Leider produziert aber `regex\_replace:"/.[0-9]+/":""` einen Fehler. Hat da noch einer einen Tip für die richtige Syntax? Wenn ich selber was finde poste ich das hier. Ansonsten wäre ich für weitere Hilfe sehr dankbar. Tom

---

<div class="post-metadata">

**Author:** ![07alex07](https://avatars.discourse-cdn.com/v4/letter/0/b5a626/32.png) [@07alex07](https://forum.shopware.com/u/07alex07)\
**Post date:** [24. Dezember 2014 um 10:03 UTC](https://forum.shopware.com/t/zahlenformatierung-fur-preise-gt-1-000/24280/6 "2014-12-24T10:03:29Z")

</div>

Versuch mal damit `string\_format:"%d"`

---

<div class="post-metadata">

**Author:** ![Knightmare](https://avatars.discourse-cdn.com/v4/letter/k/3ab097/32.png) [@Knightmare](https://forum.shopware.com/u/Knightmare)\
**Post date:** [24. Dezember 2014 um 10:27 UTC](https://forum.shopware.com/t/zahlenformatierung-fur-preise-gt-1-000/24280/7 "2014-12-24T10:27:42Z")

</div>

Danke auch für diese Idee, leider gibt `string\_format:"%d"` keine Tausendertrennung aus. Das gefällt mir dann auch nicht so :oops: Ich habs jetzt erst mal über die Feiertage so gelöst : `{$article.price|number\_format:0:",":"."} €` Das erscheint mir aber auch nicht so elegant. Weiterhin probiere ich gern alles aus. Tom
