Neues Thema starten

Im Werte Feld rechnen und runden?

Hallo,


ich stehe auf dem Schlauch und bräuchte mal bitte Hilfe.


Unter einer Bedingung im Wertefeld soll je nach Hersteller ein unterschiedlicher Verkaufpreis ermittelt werden. Bei einem einzelnen Hersteller soll der UVP genommen werden und bei allen anderen Herstellern soll der VK aus dem BasePrice errechnet werden und gerundet werden - und das bekomme ich nicht hin:


<#if Hersteller! == 'XXX'>${RecommendedRetailPrice!}<#else>${BasePrice?replace(",",".")?number * 1.6}</#if>


Also das funktioniert, aber wie kann ich den Teil noch runden?

${BasePrice?replace(",",".")?number * 1.6}


Der RecommendedRetailPrice soll nicht gerundet werden.


Hallo Lukas,


oh, noch schicker, dann mache ich es mal so wie von Dir vorgeschlagen :)


VG Stefan

Habs selbst rausgefunden und so gemacht:


<#if Hersteller! == 'XXX'>${RecommendedRetailPrice!}<#else>${(BasePrice?replace(",",".")?number * 1.6)?round?number-0.01}</#if>

Hallo,


mir fällt gerade ein, dass wir auch eine eigene Runden Methode haben, schau mal hier:  https://apps.synesty.com/transformy?action=showTemplateFunctionDocumentation#round 

Ich glaube für deinen Fall wäre sowas ähnliche das richtige:

${round(DeinWert,2,"HALF_EVEN",0.95)}


Viele Grüße,

Lukas

Hallo Lukas,


aha, das funktioniert :)


Kann ich noch die Kommastellen beim Runden beeinflussen? Also zB auf oder abrunden auf 0.99 oder 0.95?


Danke vorab!

Hallo,


du bist schon nah dran. Versuch mal den ganzen Ausdruck der in den {} steht noch in () zusetzten und mit diesen Methoden hier(https://freemarker.apache.org/docs/ref_builtins_number.html#ref_builtin_rounding) kannst du runden.

${(BasePrice?replace(",",".")?number * 1.6)?round}


Viele Grüße,

Lukas

Anmelden um einen Kommentar zu veröffentlichen