Startseite › Foren › Deutsches LiveCode-Forum › Datagrid – auslesen › Antwort auf: Datagrid – auslesen
Zunächst einmal bitte generell im Deutschen auf das Apostroph im Plural verzichten:
Ein ITEM, zwei ITEMS 😎
Die Fehlermeldung besagt, daß der Inhalt eins dieser Felder offensichtlich KEINE Zahl ist!
Bitt mal nachsehen, ob sich vielleicht ein CR oder TAB oder sonstws da eingschlichen hat.
Ah, oder da ist ein KOMMA drin: 1,50!
LC ist englisch und kennt daher nur den PUNKT als Dezimaltrenner: 1.50
Ich habe mir für solche Situationen zwei kleine Funktionen geschreiben:
function ohne_komma tZahl
replace "," with "." in tZahl
return tZahl
end ohne_komma
function mit_komma tZahl
replace "." with "," in tZahl
return tZahl
end mit_komma
Lege die ins Stackskript und nutze die eine für berechnungen, die andere für das Anzeigen.
...
put item 7 of tArtikel into tpreis
put tpreis & " €" into fld "preis"
## Zur Berechnung
put fld "menge" into wert1
put fld "preis" into wert2
put ohne_komma(wert1) * ohne_komma(wert2) into ergebnis
put mit_komma(ergebnis) into fld "gesamtpreis"
...
Aber ich sehe, mit dem EURO Zeichen kann LC natürlich nciht rechnen, Punkt hin oder Komma her!
Ändere die Reihenfolge in dem Skript, dann klappt das auch!
Also entweder:
...
put item 7 of tArtikel into tpreis
put tpreis & " €" into fld "preis"
## Zur Berechnung
put fld "menge" into wert1
## diesen Wert OHNE Eurozeichen haben wir bereits in der Variablen tpreis
## also nimm das zur Berechnung
## put fld "preis" into wert2
put ohne_komma(wert1) * ohne_komma(tpreis) into ergebnis
put mit_komma(ergebnis) into fld "gesamtpreis"
...
Oder
...
put item 7 of tArtikel into tpreis
## Zur Berechnung
put fld "menge" into wert1
## diesen Wert OHNE Eurozeichen haben wir bereits in der Variablen tpreis
## also nimm das zur Berechnung
## put fld "preis" into wert2
put ohne_komma(wert1) * ohne_komma(tpreis) into ergebnis
put mit_komma(ergebnis) into fld "gesamtpreis"
## Jetzt erst das EURO Zeichen hinzufügen:
put tpreis & " €" into fld "preis"
...
Gruß
Klaus