| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: Nachkommastellen bei größeren Zahlen (1012 mal gelesen)
|
Frank88 Mitglied
Beiträge: 156 Registriert: 11.10.2004 AutoCAD 2019/C3D
|
erstellt am: 11. Okt. 2004 11:50 <-- editieren / zitieren --> Unities abgeben:
Hallo, wie stellt man es an, daß einem bei einer solchen Rechnung (+ 45678.123 0.1 0.01 0.001) 45678.2 der richtige Wert 45678,234 geliefert wird? Hintergrund ist, daß ich mit einem LISP-Programm aus einer Textdatei Koordinaten in mm auslesen und diese dann in m unwandeln und als Punkte ins Autocad laden will. (setq Y (/ mmWert 1000)) führt aber immer zu o.g. Problem: der mmWert 45678123 wird zu 45678.2 statt 45678.123! Ich hoffe verzweifelt auf Hilfe. Gruß, Frank P.S.: benutzte Versionen: R14 und ...2002
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9803 Registriert: 01.12.2003 One AutoCAD 2.5 - 2024, AutoCAD, Civil 3D, Win10/Win11
|
erstellt am: 11. Okt. 2004 12:05 <-- editieren / zitieren --> Unities abgeben: Nur für Frank88
|
Frank88 Mitglied
Beiträge: 156 Registriert: 11.10.2004 AutoCAD 2019/C3D
|
erstellt am: 11. Okt. 2004 12:23 <-- editieren / zitieren --> Unities abgeben:
Hallo Udo, das ist ja interessant. Aber das ist doch dann ein String. Wie verhält sich der dann bei der Weiterverarbeitung? Die Rückumwandlung führt wieder zu: (distof (RTOS (+ 45678.123 0.1 0.01 0.001) 2 3) 2) 45678.2 Oder steckt hinter der zugewiesenen Variable (in meinem Bsp. Y) tatsächlich der genaue Wert und ich kann damit einfach weiterrechnen? Danke schonmal Gruß, Frank
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9803 Registriert: 01.12.2003 One AutoCAD 2.5 - 2024, AutoCAD, Civil 3D, Win10/Win11
|
erstellt am: 11. Okt. 2004 12:42 <-- editieren / zitieren --> Unities abgeben: Nur für Frank88
Also die Umwandlung in einen String, hier mit RTOS würde die Zahl dann natürlich hinter der 3. Nachkommostelle abschneiden. In der Variable Y (besser sind ja "sprechende" Variablen) steht der Wert als Zahl natürlich mit allen Nachkommastellen. AutoCAD rechnet intern mit 16 signifikanten Stellen. Die unformatierte Lispausgabe zeigt die Werte allerdings nur mit 7 Ziffern an. Einfach weiterrechnen und am Ende der Berechnung den Wert formatiert (z. B. mit RTOS) ausgeben. Mit freundlichem Gruß Udo Hübner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Peter2 Ehrenmitglied V.I.P. h.c.
Beiträge: 3849 Registriert: 15.10.2003
|
erstellt am: 11. Okt. 2004 14:35 <-- editieren / zitieren --> Unities abgeben: Nur für Frank88
Zitat: Original erstellt von Frank88: Oder steckt hinter der zugewiesenen Variable (in meinem Bsp. Y) tatsächlich der genaue Wert und ich kann damit einfach weiterrechnen?
Genau so ist es. Peter ------------------ Für jedes Problem gibt es eine einfache Lösung. Die ist aber meistens falsch. ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Frank88 Mitglied
Beiträge: 156 Registriert: 11.10.2004 AutoCAD 2019/C3D
|
erstellt am: 11. Okt. 2004 14:37 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank! Das hat mir sehr weitergeholfen. Große Erfahrung habe ich mit AutoLisp noch nicht. Und die Online-Hilfe...na ja, zumindest in dem Punkt hat sie mir nicht sehr geholfen. Gruß, Frank
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |