Startseite › Foren › Deutsches LiveCode-Forum › Umwandlung String in numerischen Wert
Schlagwörter: String in numerische Variable konvertieren
- Dieses Thema hat 10 Antworten und 3 Teilnehmer, und wurde zuletzt aktualisiert vor 4 Jahren, 9 Monaten von
Peter_M.
-
AutorBeiträge
-
-
Juni 18, 2020 um 08:19 Uhr #21429
Hi zusammen,
Ich habe ein ganz banales Problem:
Wie kann ich den Wert des Inhalts eines Textfeldes, also einen String in eine numerische Variable umwandeln?
Danke für eure Antwort.Peter
-
Juni 18, 2020 um 09:57 Uhr #21431
Gar nicht! 😀
Es gibt nämlich keine „Datentypen“ in LC, daher können wir:
... put (fld "das mit einer Zahl drin" * 18 + fld "noch 'ne zahl") into fld "ergebnis" ...
Das gibt nur einen ERROR, wenn das Feld KEINE gültige Zahl enthält.
P.S.
Schon getestet?
https://www.livecode-blog.de/forums/topic/ereignis-simulieren-bildschirmschoner-ausschalten/#post-21410 -
Juni 18, 2020 um 12:02 Uhr #21432
Hallo Klaus,
vielen Dank, deinen Tipp zur Hintanstellung des Energiesparmodus von Handys konnte ich noch nicht ausprobieren, da ich nebenbei noch ich meinen beruflichen Verpflichtungen nachkommen muss. Ich werde aber auf jeden Fall berichten! -
Juni 18, 2020 um 21:01 Uhr #21435
Hallo Klaus, zum Thema screensaver: auch der Trick mit der Festplattenaktion funktioniert leider nicht, sodass ich meine Nutzer wohl auf die Änderung ihrer Energiespareinstellungen hinweisen muss 🙁
Das Thema Datentypen ist mir allerdings immer noch etwas obsolet: wenn ich den Code “ Put 333 into x“ betrachte, dann ist für mein Verständnis doch x eine numerische Variable, oder?!
Im Code ‚put „333“ into x‘ dagegen erscheint x als weiterer Datentyp, in anderen Sprachen Stringvariable genannt. Aber ich muss in LIVECODE wohl stark umdenken…. -
Juni 18, 2020 um 21:15 Uhr #21436
Hallo Peter,
dann ist für mein Verständnis doch x eine numerische Variable, oder?!
für DEIN Verständnis, das ist korrekt, LC ist eindeutig anders als andere Programmiersprachen!
Wie gesagt, es gibt keine Datentypen in LC, die „klaubt“ sich LC aus dem Zusammenhang zusammen. 😀Gruß
Klaus
-
Juni 18, 2020 um 22:14 Uhr #21437
Hi Peter,
es ist ganz einfach: ALLES ist ein String = eine Kette von Zeichen (eigentlich eine Kette von Nullen und Einsen, wenn man es genau nimmt).
Ob es eine Zahl ist, sprich, ob der String nur Zeichen enthält, die Ziffern sind, kann man mit „is a number“ feststellen:
if tMeineVariable is a number then put tMeineVariable into field "Zahl" else put tMeineVariable into field "String" end if
Überhaupt kann man den Inhalt der Variablen mit is a erkennen: https://livecode.fandom.com/de/wiki/Is_a
So braucht man nicht schon bei der der Definition zu entscheiden, was die Variable sein soll, es ist einfach ein Container, der alles enthalten kann 🙂
Happy Coding!
Torsten -
Juni 19, 2020 um 16:05 Uhr #21447
Hallo Klaus und Torsten,
vielen Dank für eure Nachhilfe in Sachen Datentypen bei LIVECODE. Ich glaube, das habe ich jetzt „gefressen“. Ich vermisse in LIVECODE jedoch noch eine weitere wichtige Funktion, die unter Basic als „Instr“-Funktion die Position einer Zeichenkette in einer anderen bestimmt. Habe ich mal wieder Tomaten auf den Augen oder gibt es eine solche Funktion in LIVECODE tatsächlich nicht, bzw. muss man sich eine solche selber basteln?
Viele Grüße
Peter -
Juni 19, 2020 um 16:49 Uhr #21448
Nachdem ich „inStr“ im Internet nachgeschlagen habe, denke ich, Du meinst OFFSET!
offset, itemoffset, wordoffset, truewordoffset, lineoffset etc…... put "das ist ein blöder satz" into tText put offset("blöd",tText) ## -> 13 put wordoffset("blöd",tText) ## -> 4 put truewordoffset("blöd",tText) ## -> 4 ...
Falls Du des Englischen ein wenig mächtig bist, empfehle ich diese Stacks, um mehr über die Basics von LC zu erfahren: http://www.hyperactivesw.com/revscriptconf/scriptingconferences.html
-
Juni 20, 2020 um 05:30 Uhr #21472
Hallo Klaus,
Der Offset- Tipp ist mehr wert als Gold! Sollte meine App je fertig werden, schulde ich dir und Torsten special thanks im Editorial!
Danke
Peter -
Juni 20, 2020 um 09:31 Uhr #21473
Das ist lieb gemeint, aber ich möchte das nicht, danke. 🙂
-
Juni 23, 2020 um 20:27 Uhr #21503
Gecheckt!
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.