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.

Woher ich das weiß:Berufserfahrung

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.

Woher ich das weiß:Hobby – Programmieren ist mein Hobby & Beruf

ministermulti 
Beitragsersteller
 05.07.2021, 18:05

pascal

0
MrAmazing2  05.07.2021, 18:08
@ministermulti

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.

2
ministermulti 
Beitragsersteller
 05.07.2021, 18:00

ok mal nur so als frage denkst du das von dem @ohwehohach das stimmt

oder würde das als antwort reichen

0
MrAmazing2  05.07.2021, 18:05
@ministermulti

Kommt drauf an: Geht‘s um die Programmiersprache Pascal? Oder ist das einfach Pseudocode?

2
ohwehohach  05.07.2021, 18:16
@MrAmazing2

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);
0
MrAmazing2  05.07.2021, 18:27
@ohwehohach

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.

0
ohwehohach  05.07.2021, 18:48
@MrAmazing2
Wenn man in JS der parseInt()-Methode ein Int anstatt String übergibt

... da könnte man also auch einfach casten.

0