mit substring text in array aufteilen
Um die Prüfziffer für einen EAN Code zu erhalten, habe ich einen Text "4002353" zunächst in ein array aufgeteilt:
let myarr2 := [number(substring(Text, 0, 1)), number(substring(Text, 1, 1)), number(substring(Text, 2, 1)), number(substring(Text, 3, 1)), number(substring(Text, 4, 1)), number(substring(Text, 5, 1)), number(substring(Text, 6, 1))];
Dieses setze ich mit concat(myarr2) wieder zusammen und stelle es in einem zweiten Textfeld dar - erhalte aber das Ergebnis: 4, 0, 0, 0, 2, 23, 235
Wo ist mein Fehler?
3 Antworten
-
Fehler gefunden:
Im Handbuch wird unter "Funktionen->Textfunktionen" die Funktion falsch beschrieben.
Richtig im Handbuch "Erweiterte Funktionen->Funktions- und Sprachreferenz-> Textfunktionen"
-
Hallo,
du kannsteunen Text ganz leicht Zeichenweise in ein Array umwandeln:
let myArray := split(Text, "")
Oder auch Text direkt zeichenweise in einer Schleife durchlaufen:
for myZeichen in Text do ... end
VG Frank
-
ABSOLUT TOLL - jetzt habe ich eine schlanke Version, um die Prüfziffer einer EAN zu berechnen.
Danke Dir!
let myEAN := 0;
let gerade := false;
"kleiner Workarround, weil man die Quersumme von der letzten Stelle an berechnet";
if odd(length(Text)) = true then
gerade := false
else
gerade := true
end;
"Quersumme wird berechnet";
for ii in Text do
if gerade = false then
myEAN := myEAN + number(ii) * 3;
gerade := true
else
myEAN := myEAN + number(ii);
gerade := false
end
end;
Quersumme := myEAN;
"Als workarround die Formel für die Prüfziffer - Mod 10";
'Prüfziffer' := abs(Quersumme / 10 - ceil(Quersumme / 10)) * 10
Content aside
- vor 5 JahrenZuletzt aktiv
- 3Antworten
- 1902Ansichten