Zahlenwerte mit 5er Schritt abrunden

hallo @LukasK

Wir haben eine preianforderung, dass wir nur Preise mit einer 5 oder 0 am Ende ausspielen dürfen.

beispiel

16984 soll 16985
16553 soll 16555
15238 soll 15230

Leider finde ich keine vernünftige Logik die mir hier helfen könnte.

hast du eine Idee?

Aktuell Runden wir nur alles auf keine Kommastellen auf bzw ab.

<A_VK>${(prices.at(‚27‘)?number*400)?round</A_VK>

Schöne Grüße

Christoph

Hallo @chaumann,

Edit: Habe grade realisiert, dass mit der Synesty-Runden immer auf 0 gerundet wird und nicht wie du dir wünscht auf 0 oder 5.

Ich gehe davon aus, dass du immer aufrunden willst, korrekt?

Das Skript addiert so oft +1 auf deinen Preis, bis die letzte Ziffer 0 oder 5 ist und gibt dann den erreichten Wert aus.

<#assign val = stock!?number>
  <#list 0..4 as iteration>
    <#if val?ends_with("0") || val?ends_with("5")>${val}<#break></#if>
  <#assign val = val + 1>
</#list>

In der ersten Zeile musst du statt stock den Namen deiner Quellspalte eintragen. Ich habs nur mit der stock-Spalte aus der Beispieldatei von Synesty getestet.

Hier ein Screenshot vom Ergebnis:


Originalpost:

versuch’s mal mit der Runden-Funktion von Synesty. Da sollte eigentlich der richtige Rundungsmodus dabei sein.

grafik

Einfach davor deinen Preis durch 10 teilen und danach wieder mit 10 multiplizieren, dann hast du auch eine Kommastelle zum Runden. :slight_smile:

Gruß
Gustav