Nemo hat ja schon den naheliegensten Weg beschrieben.
Hier noch eine Ergänzung:
Möchte man Zahlenwerte als Beschriftung mit dem Node 2DText absetzen und verwendet dazu die Funktion round(), werden Nullen die ab der zu rundenden Stelle auftreten nicht mit dargestellt. Was logisch ist, weil folgende Nullen mathematisch unnötig sind.
Außerdem wird beim Runden auf eine Ganzzahl (also auf 0 Nachkommastellen) immer .0 angehängt.
Aus 1.203 wird bei Rundung auf zwei Nachkommastellen 1.2 und nicht 1.20. Weiter wird aus dem Wert 4.02 beim Runden auf null Nachkommastellen 4.0 und nicht 4.
Das liegt daran, dass der Datentype float immer das Dezimaltrennzeichen und mindestens eine Nachkommastelle wiedergibt. Im Gegensatz zu integer.
Will man gerundete Zahlenwerte als Text absetzen, kann man das mit der F-String-Formatierung machen. Diese wandelt den Wert nicht nur in einen String mit bestimmter Formatierung um, sie rundet den Wert auch.
Ich mache das immer mit dem Node FunctionXY und schreibe unter Function f'{x:.{y}f}'. X sind die zu rundenden Werte und y ist die Anzahl der Nachkommastellen.
Wichtig:
Die F-String-Formatierung gibt Werte vom Typ str aus und die Funktion round() gibt Werte vom Typ float aus.
Bei beiden Funktionen ist zu beachten, dass symmetrisch gerundet wird. Was vielleicht wichtig ist, wenn es um die Beschriftung von Längen geht.
https://de.wikipedia.org/wiki/Rundung
Meine Erklärung beruht auf bescheidenen Programmierkenntnissen. Wenn in meinen Ausführungen etwas nicht stimmt, bitte ich um Berichtigung.
Gruß Felix
Gruß Felix
Allplan 2024-0-1