Hallo zusammen,
ich versuche gerade ein Beschriftungsbild mit Python zu erstellen.
Die Definition erfolgt folgend: p:stuetze(@220@)
Mit der folgenden Funktion prüfe ich den Ausgangstyp des nötigen Attributes:
def stuetze (attr_220): x = attr_220 string = str(x) + "; " + str(type(x)) return string
Als Ergebnis bekomme ich funktionierendes BEBILD an meiner Stütze: "0.44; <class 'float'>".
--> Also, meine Breite der Stütze ist eine Fließkommazahl, was auch logisch ist.
Jetzt fange ich mit meiner Funktion an:
def stuetze (attr_220): x = round(attr_220, 3) return str(x)
und bekomme den Fehler: "type str doesnt define _round_ method", somit ist mein Wert scheinbar kein float, sondern str.
Weiter probiere ich float aus str rauszubekommen:
def stuetze (attr_220): x = str(attr_220) y = float(x) return y
und bekomme den Fehler: "could not convert string to float"
Hatte schon mal jemand mit so einem Problem zu tun gehabt? Gibt's ggf. bestimmte Allplan-Einschränkungen auf Python-Syntax?
Ich bedanke mich im Voraus für die Hinweise!
-------------------------------------
Ergänzung
-------------------------------------
Ich habe noch getestet die Funktionen float und round ohne den Wert des Attributes zu nutzen --> beide funktionieren.
def stuetze (attr_220): x = round(float("3.123456789"), 3) return x
Grüße
Taras