Dotliquid String Problem Das Objekt mit dem Typ "System.Double" kann nicht in den Typ "System.String" konvertiert werden.

wirelex

Aktives Mitglied
17. Oktober 2022
42
8
Hallo Zusammen,

ich habe ein Problem mit Liquid.

Ich möchte bei der folgenden Inhaltsmenge beim Grundpreis Werte umwandeln. Dabei bekomme ich die Fehlermeldung "Liquid error: Das Objekt mit dem Typ "System.Double" kann nicht in den Typ "System.String" konvertiert werden."

Folgende Formel:
{% if Vorgang.Allgemein.PreiseEinheiten.InhaltMenge != 0 and Vorgang.Allgemein.PreiseEinheiten.InhaltMenge != empty %}
{{ Vorgang.Allgemein.PreiseEinheiten.InhaltMenge| String | Replace: ',','.' }}
{% else %}
1
{% endif %}


Der Wert "0,3" sollte damit zu "0.3" werden. Hintergrund ist, dass ich eine Länge für den Grundpreis zu Conrad übertragen möchte, hier muss allerdings durch einen Punkt getrennt werden, nicht durch ein Komma.

Hat jemand einen Tipp für mich?

PS:
Weiterhin habe ich das Problem, dass wenn ich die Formel wie oben zu sehen eingebe, die Umbrüche ein Problem machen. Der Wert:
"
0,3

"
..kommt dann raus und führt bei der Übertragung zu Mirakl zu Problemen, da die Umbrüche mit übergeben werden. Meine aktuelle Lösung ist es, alles in alle Zeile zu schreiben:
{% if Vorgang.Allgemein.PreiseEinheiten.InhaltMenge != 0 and Vorgang.Allgemein.PreiseEinheiten.InhaltMenge != empty %}{{ Vorgang.Allgemein.PreiseEinheiten.InhaltMenge| String | Replace: ',','.' }}{% else %}1{% endif %}

Viele Grüße
Josua
 

Anhänge

  • Bildschirmfoto 2023-03-30 um 14.00.04.png
    Bildschirmfoto 2023-03-30 um 14.00.04.png
    59,4 KB · Aufrufe: 5

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.567
479
in der Datenbank stehen doch sowieso Punkte als Dezimaltrenner. Gib doch einfach direkt den aus der Datenbank gelesenen Wert aus.
 

wirelex

Aktives Mitglied
17. Oktober 2022
42
8
in der Datenbank stehen doch sowieso Punkte als Dezimaltrenner. Gib doch einfach direkt den aus der Datenbank gelesenen Wert aus.
Danke für die rasche Antwort. Kannst du mir einen Tipp geben, wie diese direkte Abfrage aussehen würde?

Gibt es keinen Weg, das mit Liquid selbst zu lösen? Es muss doch eine Möglichkeit geben, einen Double in einen String umzuwandeln, oder?
 

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.567
479
Danke für die rasche Antwort. Kannst du mir einen Tipp geben, wie diese direkte Abfrage aussehen würde?

Gibt es keinen Weg, das mit Liquid selbst zu lösen? Es muss doch eine Möglichkeit geben, einen Double in einen String umzuwandeln, oder?
Umwandeln könnte man so:
Code:
{% capture string_type %} {{ number_type }} {% endcapture %}
{{ string_type | replace... }}
 
  • Gefällt mir
Reaktionen: LS|media

Ähnliche Themen