a:=StrToFLoat(a) könnte mir da mal jemand sagen was man da über a weiß?
3 Antworten
Wenn das Python sein soll, dann sieht man am Doppelpunkt vor dem Gleichheitszeichen, dass "a" als Variable neu deklariert wird, und vorher noch nicht existierte.
Allerdings beißt sich das mit dem Funktionsargument.
Außerdem ist sie davor wohl ein String und danach vom Typ "float".
Falls das hingegen Pascal sein soll dann, ist es ein Syntaxfehler.
Da weiß man, dass das nicht kompilieren kann.
Die Zuweisungs-Syntax mit ":=" lässt darauf schließen, dass es sich um einen Pascal-Dialekt handelt.
StrToFloat konvertiert einen String in einen Wert vom Typ Extended. Die Zuweisung erfolgt hier an eine Variable.
Das lässt zwei Schlüsse zu:
- Entweder ist a vom Typ Extended. Dann würde die Zuweisung des Ergebnisses von StrToFloat an a funktionieren, aber es würde einen Compilerfehler geben, da a auch als Parameter an die Funktion übergeben wird und daher vom Typ String sein müsste.
- Oder a ist vom Typ String. Dann könnte man es zwar an StrToFloat übergeben, aber die Zuweisung an a würde fehlschlagen, weil ein Extended nicht einer Variablen vom Typ String zugewiesen werden kann.
Somit weiß man nichts über a, aber sicher ist, dass das nicht kompiliert.
„String to Float“
->
Man weiß dass a vorher ein String ist und nachher ein Float.
Dann stimmt seine Antwort.
In Pascal hat eine Variable einen bestimmten Typ. a ist zum Beispiel ein String. Heißt wenn du a dann einen Float-Wert (eine Kommazahl) zuweisst, das geht nich. Schmeisst beim Kompilieren einen Fehler. a kann nicht String und Float zugleich sein.
ok mal nur so als frage denkst du das von dem @ohwehohach das stimmt
oder würde das als antwort reichen
Kommt drauf an: Geht‘s um die Programmiersprache Pascal? Oder ist das einfach Pseudocode?
Das würde aber bedeuten, dass die Variable a innerhalb einer Zeile ihren Datentyp wechseln müsste. Und das wäre in keiner der mir bekannten Programmiersprachen (mal abgesehen vermutlich von PHP, aber das habe ich nicht probiert) möglich.
Und was würde dann mit folgendem Code passieren?
a := StrToFloat(a);
b := StrToFloat(a);
Gibt viele in denen das möglich ist. JavaScript, Python, ...
In a würde die Zahl stehen, und in b die Zahl, null, NaN, undefined oder es wirft einen Fehler. Je nach Programmiersprache. Meistens vermutlich die Zahl, die Umwandlungsmethoden sind da in der Regel genug abgesichert. Wenn man in JS der parseInt()-Methode ein Int anstatt String übergibt, dann macht sie einfach einen String draus und parsed es dann.
Wenn man in JS der parseInt()-Methode ein Int anstatt String übergibt
... da könnte man also auch einfach casten.
pascal