Inaktiv DotLiquid Number Filter

Gual61

Sehr aktives Mitglied
13. Juli 2009
449
33
Hallo,
was mache ich falsch?

{{Lieferschein.Summe0.Netto}} hat Wert 426,98675231

{% if Lieferschein.Summe0.Netto > 500 %} YES {% else %} NO {% endif -%}
funktioniert wie erwartet.

{{ Lieferschein.Summe0.Netto | FormatNumber: 'N0', 'de-DE' }} gibt 426 aus.
{% if Lieferschein.Summe0.Netto | FormatNumber: 'N0', 'de-DE' > 500 %} YES {% else %} NO {% endif -%}
gibt immer YES aus. Warum?

Laut Doku, gibt FormatNumber ein String aus. Ist ein String Vergleich nicht möglich? Oder Syntaxfehler?
Auch das Formattieren als Zahl mit ToDouble bringt nichts.

Danke im Voraus für Erklärungen
Gual
 

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.829
525
Setze das mal in einer Variablen, wie hier:
{% assign Anzahl = Vorgang.AuftragsPositionen.ArtikelPositionen.Anzahl | FormatNumber: 'N2', 'de-DE' | ToDouble -%}
{{ Anzahl | DividedBy: 2 }}
{{ Anzahl | Times: 5 }}
 

Gual61

Sehr aktives Mitglied
13. Juli 2009
449
33
Danke sehr!

Ich war auch schon dabei das so umzusetzen, aber...
warum geht die "straight" Variante ohne dem Umweg in einer Variable nicht?

Ciao Gual
 

Gual61

Sehr aktives Mitglied
13. Juli 2009
449
33
@CSB Ah-ha, Du bist halt nur ein paar Tage vor mir auf das gleiche gestolpert :D

Aus der Antwort leite ich daraus dass, alle Variablen die JTL zur Verfügung stellt vom Typ String sind. (Wo steht das in der Doku?)
So ist eigentlich "FormatNumber" völlig irreführend...

und klärt immer noch nicht warum
{% if Lieferschein.Summe0.Netto | FormatNumber: 'N0', 'de-DE' | ToDouble > 500 %} YES {% else %} NO {% endif -%}
also ohne den Umweg in eine eigene Variable nicht geht.

Ciao Gual