| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: Realzahl runden (3912 mal gelesen)
|
Bernd10 Mitglied
Beiträge: 763 Registriert: 20.11.2003 Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz 16 GB RAM Windows 10 Pro 64-bit AutoCAD Mechnical 2020 Deu
|
erstellt am: 12. Okt. 2011 13:16 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe ein Problem beim Runden zweier Realzahlen, das ich mir nicht erklären kann. Dabei runde ich die zwei Realzahlen rxausdeed und rxausdkoor mit meiner Funktion, die für mich gleich sind (siehe Datei Ueberwachung.jpg). Die Lisp-Funktion, die ich dafür verwende, ist ebenfalls in der Anlage enthalten. Warum sind die beiden Realzahlen rxausdeed und rxausdkoor nach dem Runden nicht gleich? Danke im Voraus und viele Grüße Bernd
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: 12. Okt. 2011 13:42 <-- editieren / zitieren --> Unities abgeben: Nur für Bernd10
Wenn die beiden Zahlen nicht gleich sind, können auch beim Runden unterschiedliche Ausgaben entstehen: 142.4449999999999999 Angezeigt als 142.44500000 gerundet auf 2 Stellen 142.44 und 142.4450000000000001 Angezeigt als 142.44500000 gerundet auf 2 Stellen 142.45 ------------------ Mit freundlichem Gruß
Udo Hübner www.CAD-Huebner.de [Diese Nachricht wurde von CAD-Huebner am 12. Okt. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd10 Mitglied
Beiträge: 763 Registriert: 20.11.2003 Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz 16 GB RAM Windows 10 Pro 64-bit AutoCAD Mechnical 2020 Deu
|
erstellt am: 12. Okt. 2011 13:48 <-- editieren / zitieren --> Unities abgeben:
Hallo Udo, danke für Deine Antwort. Diese Problematik ist mir bekannt. Deshalb habe ich beide Realwerte mit der Funktion rtos und der Genauigkeit von 10 Kommastellen gewandelt (siehe Anlage Ueberweachung.jpg). Von den gewandelten Werten stimmen die 10 Kommastellen überein. Es muss also einen anderen Grund geben. Viele Grüße Bernd
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: 12. Okt. 2011 14:11 <-- editieren / zitieren --> Unities abgeben: Nur für Bernd10
Zitat: Original erstellt von Bernd10: ...Diese Problematik ist mir bekannt. Deshalb habe ich beide Realwerte mit der Funktion rtos und der Genauigkeit von 10 Kommastellen gewandelt (siehe Anlage Ueberweachung.jpg). ...
Ich kann nur erkennen, dass du die die Werte mit RTOS hast anzeigen lassen. Eine Zuweisung dieses gerundeten Stings kann ich in dem Programm nicht entdecken. Dort wird der Originalwert auf 2 Stellen gerundet - mit dem bekannten - erklärbaren - Ergebnis. ------------------ Mit freundlichem Gruß Udo Hübner www.CAD-Huebner.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd10 Mitglied
Beiträge: 763 Registriert: 20.11.2003 Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz 16 GB RAM Windows 10 Pro 64-bit AutoCAD Mechnical 2020 Deu
|
erstellt am: 12. Okt. 2011 14:31 <-- editieren / zitieren --> Unities abgeben:
Hallo Udo, Zitat: Original erstellt von CAD-Huebner: Ich kann nur erkennen, dass du die die Werte mit RTOS hast anzeigen lassen. Eine Zuweisung dieses gerundeten Stings kann ich in dem Programm nicht entdecken. Dort wird der Originalwert auf 2 Stellen gerundet - mit dem bekannten - erklärbaren - Ergebnis.
ich habe meine Funktion geändert (siehe Anlage). Mit dieser Version sind die gerundeten Werte so, wie ich es erwartet habe. Danke und viele Grüße Bernd
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Theodor Schoenwald Ehrenmitglied
Beiträge: 1672 Registriert: 16.04.2002
|
erstellt am: 12. Okt. 2011 20:22 <-- editieren / zitieren --> Unities abgeben: Nur für Bernd10
Hallo Bernd, könnte es auch so sein? ;;; ROUND (gile) ;; Round a number according to specified precision ;; ;; Arguments ;; num : the number to be rounded ;; prec : precision ;; ;; Examples ;;; (round-prec pi 0.01) -> 3.14 ;;; (round-prec pi 1e-5) -> 3.14159 ;;; (round-prec 5456.50 1.0) -> 5457.0 ;;; (round-prec 5456.50 100) -> 5500 (defun round (num prec) (if (zerop prec) num (* prec (fix (if (minusp num) (- (/ num prec) 0.5) (+ (/ num prec) 0.5) ) ) ) ) ) (defun RoundP(lstPoint intRound) (mapcar '(lambda (X)(/ (fix (* X (expt 10 intRound)))(expt 10.0 intRound))) lstPoint) ) ;;--------------------------------------- Der Autor ist mir nicht bekannt. Gruß Theodor Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 12. Okt. 2011 20:40 <-- editieren / zitieren --> Unities abgeben: Nur für Bernd10
|
Bernd10 Mitglied
Beiträge: 763 Registriert: 20.11.2003 Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz 16 GB RAM Windows 10 Pro 64-bit AutoCAD Mechnical 2020 Deu
|
erstellt am: 13. Okt. 2011 07:38 <-- editieren / zitieren --> Unities abgeben:
|