Neu Dot Liquid csv-Ausgabe: Abschneiden / Turncate

Christian_BD

Sehr aktives Mitglied
7. November 2016
378
68
Hallo zusammen,

ich würde gerne in der alten Ausgabe (=Deutsch) einen Wert ausgeben, aber diesen Wert nur gekürzt ausgeben.

Für mich wäre das die Truncate-Funktion, aber das funktioniert nicht richtig, bzw. ich mache wohl was falsch:

{{ Vorgang.Stammdaten.Kunde.Kundennummer | Truncate: 2 }}

Die Kundennummer ist 5 Stellen (99001), aber es sollen nur die beiden ersten Stellen ausgegeben werden.
Wenn ich bei Truncate 2 stehen habe, dann kommt "..." bei der Ausgabe
Wenn ich bei Truncate 4 stehen habe, dann kommt "9..." bei Ausgabe

Ich hätte aber gerne, dass "99" ausgegeben wird. Was mache ich falsch, bzw. welche Funktion brauche ich?

Danke und viele Grüße
 

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.521
457
Ich hätte aber gerne, dass "99" ausgegeben wird. Was mache ich falsch, bzw. welche Funktion brauche ich?
Truncate kürzt eine Zeichenfolge auf die Anzahl der Zeichen, die als Argument übergeben werden.

Wenn die angegebene Anzahl von Zeichen kleiner als die Länge der Zeichenfolge ist (so wie bei dir), wird ein Auslassungszeichen ( Standard ist ...) an die Zeichenfolge angefügt und in die Zeichenanzahl einbezogen.

Also dein Truncate 2 ergibt im ersten Schritt die ersten zwei Stellen, also 99, aber weil 2 < 5 wird ... eingesetzt an Stelle 1 und 2 (eigentlich müsste der dritte Punkt an Stelle -1, aber das gibt es nicht, deshalb wird der Punkt hinten angehängt)
Dein Beispiel mit Truncate 4 führt zu 9900 und jetzt wird Stelle 3,3 und 4 mit ... ersetzt

In einem optionalen zweiten Argument, kannst du eine Zeichenfolge angebene, die an die abgeschnittene Zeichenfolge angehängt werden soll.
Du kannst also im zweiten Argument eine leere Zeichenfolge angeben.

{{ Vorgang.Stammdaten.Kunde.Kundennummer | Truncate: 2, "" }}
 
  • Gefällt mir
Reaktionen: Christian_BD