| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo |
Autor
|
Thema: 25.0 in 25 wandeln (11184 mal gelesen)
|
rmcc1980 Mitglied Ingenieur
Beiträge: 358 Registriert: 06.06.2003 Drafting 18.1 Modeling 18.1 MM Win7 64
|
erstellt am: 16. Jun. 2005 16:01 <-- editieren / zitieren --> Unities abgeben:
|
cartoonhero Mitglied
Beiträge: 246 Registriert: 21.04.2004
|
erstellt am: 16. Jun. 2005 16:38 <-- editieren / zitieren --> Unities abgeben: Nur für rmcc1980
|
Walter Geppert Moderator Frank und Frei
Beiträge: 2143 Registriert: 12.12.2000 Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.4, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf HP ZBook 17 G4, Windows 10 Pro 64
|
erstellt am: 16. Jun. 2005 17:09 <-- editieren / zitieren --> Unities abgeben: Nur für rmcc1980
|
rmcc1980 Mitglied Ingenieur
Beiträge: 358 Registriert: 06.06.2003 Drafting 18.1 Modeling 18.1 MM Win7 64
|
erstellt am: 17. Jun. 2005 08:58 <-- editieren / zitieren --> Unities abgeben:
Hallo, meine Frage bezieht sich auf Lisp. Die 25.0 ist ein String (war mir nicht klar). Damit kann ich die .0 natürlich abschneiden. Unabhängig davon hätte ich gerne gewusst, wie man einen solchen String in eine Zahl wandelt. Gibt es eine Funktion oder muss mann eine erstellen? Schöne Grüße Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RainerH Mitglied Techn. Ang. (Konstruktion)
Beiträge: 736 Registriert: 22.01.2003 OSDM 14.00A OSDD 14.50 MM 14.00A Windows-XP Pro x64 Edition -------------------------- HP xw6400 Intel Xeon 3.00 GHz 4.00 GB RAM ATI FireGL V7200
|
erstellt am: 17. Jun. 2005 09:04 <-- editieren / zitieren --> Unities abgeben: Nur für rmcc1980
@Bernd Dazu gibt es in LISP: read-from-string (setf zahl (read-from-string string)) Eine Zahl kannst du auch umgekehrt in einen String wandeln: (setf string (oli::sd-num-to-string zahl)) HTH Gruss RainerH.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rmcc1980 Mitglied Ingenieur
Beiträge: 358 Registriert: 06.06.2003 Drafting 18.1 Modeling 18.1 MM Win7 64
|
erstellt am: 17. Jun. 2005 09:34 <-- editieren / zitieren --> Unities abgeben:
|
RainerH Mitglied Techn. Ang. (Konstruktion)
Beiträge: 736 Registriert: 22.01.2003 OSDM 14.00A OSDD 14.50 MM 14.00A Windows-XP Pro x64 Edition -------------------------- HP xw6400 Intel Xeon 3.00 GHz 4.00 GB RAM ATI FireGL V7200
|
erstellt am: 17. Jun. 2005 09:38 <-- editieren / zitieren --> Unities abgeben: Nur für rmcc1980
@Bernd Geht auch ohne truncate - probiers mal aus !! Truncate bewirkt: truncate and ftruncate produce a quotient that has been truncated towards zero; that is, the quotient represents the mathematical integer of the same sign as the mathematical quotient, and that has the greatest integral magnitude not greater than that of the mathematical quotient. HTH
Gruss RainerH.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorothea Mitglied
Beiträge: 242 Registriert: 22.11.2001
|
erstellt am: 17. Jun. 2005 10:16 <-- editieren / zitieren --> Unities abgeben: Nur für rmcc1980
Hallo, Die Funktion sd-num-to-string hat einen Parameter der angibt, wieviele Nachkommastellen im String bleiben sollen. (sd-num-to-string number [digits]) Lies mal nach in der Developers Kit Doku. Gruss Dorothea Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
noxx Mitglied Steuerzahler
Beiträge: 801 Registriert: 13.12.2004 OS: Win 7 Ultimate 64 bit SP1 Speicher: 30 GB RAM Grafik: nVidia Quadro 4000 Creo Modelling v17.0
|
erstellt am: 15. Feb. 2007 19:46 <-- editieren / zitieren --> Unities abgeben: Nur für rmcc1980
Ich mache hier mal weiter, da ich nur noch 1 Problem habe. Und zwar muss ich auch von einer Variablen die Nachkommastellen weghaben (muss aufgerundet sein). Dazu benutze ich (sd-num-to-string VARIABLE 0) Leider bleibt aber immer die erste Nachkommastelle stehen, also aus 15.12124 macht er 15.1 und nicht wie er sollte 15. ------------------ OSD 13.2 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 15. Feb. 2007 20:22 <-- editieren / zitieren --> Unities abgeben: Nur für rmcc1980
|
Schnewittchen Mitglied Konstrukteur
Beiträge: 51 Registriert: 12.10.2005
|
erstellt am: 20. Feb. 2007 08:58 <-- editieren / zitieren --> Unities abgeben: Nur für rmcc1980
Hallo zusammen, mich als LISP-unkundiger macht das nicht wirklich schlau. Ich habe in einem vorhandenen Makro eine neuen Wert berechnen und per (display (format nil " ~Aqm " (sd-num-to-string zuschnitt 6))) anzeigen lassen. Nun ist es leider so, dass dieser "zuschnitt" eine relativ kleine Zahl werden kann und in der Form 3,525E-005 angezeigt wird. Ich hab mit der Zahl keine sorgen aber unsere Zeichnerinnen stellt diese vor neue Herrausforderungen. Ich kann doch sicherlich diese Zahl auch einfach so (0,00003525) anzeigen. Aber wie? Hat jemand einen Tipp für mich? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 20. Feb. 2007 09:14 <-- editieren / zitieren --> Unities abgeben: Nur für rmcc1980
|
Schnewittchen Mitglied Konstrukteur
Beiträge: 51 Registriert: 12.10.2005
|
erstellt am: 20. Feb. 2007 10:13 <-- editieren / zitieren --> Unities abgeben: Nur für rmcc1980
|
Greskamp Mitglied Ingenieur
Beiträge: 523 Registriert: 12.03.2003 MS: Windows 10 64bit OSD: 20.1 M020 ModelManager: 20.1 M020 NX 1899 TC 12.3
|
erstellt am: 20. Nov. 2015 10:51 <-- editieren / zitieren --> Unities abgeben: Nur für rmcc1980
Hallo, ich würde das Thema gerne noch mal aufgreifen. Bin aus den Kommentaren nicht wirklich schlau geworden. Wie bekomme ich eine Zahl aufgerundet? mit: (display (round 1.2345678)) wird ja nur auf die 1 gerundet. Wie bekomme ich 1.23 angezeigt? Oder muss ich das immer erst in einen String umwandeln und dann wieder zurück? Wobei: (display (read-from-string (format nil (sd-num-to-string 1.2345678 3)))) irgendwie auch keine Rundung erfolgt ist. Hier wird der Wert nicht gerundet, sondern nur die Darstellung auf 3 Stellen begrenzt, die anderen Nachkommestellen gibt es immer noch... ------------------ Gruß Peter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Walter Geppert Moderator Frank und Frei
Beiträge: 2143 Registriert: 12.12.2000 Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.4, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf HP ZBook 17 G4, Windows 10 Pro 64
|
erstellt am: 20. Nov. 2015 11:39 <-- editieren / zitieren --> Unities abgeben: Nur für rmcc1980
|
Greskamp Mitglied Ingenieur
Beiträge: 523 Registriert: 12.03.2003
|
erstellt am: 20. Nov. 2015 11:54 <-- editieren / zitieren --> Unities abgeben: Nur für rmcc1980
Hallo Walter, da kommt dann leider das hier raus. 123/100 Also ei mir zumindest. Aber der Gedanke ist gut, erst mit 100 multiplizieren. dann runden und dann wieder teilen.. aber bekomme jetzt nur einen Text raus. ------------------ Gruß Peter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Walter Geppert Moderator Frank und Frei
Beiträge: 2143 Registriert: 12.12.2000 Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.4, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf HP ZBook 17 G4, Windows 10 Pro 64
|
erstellt am: 20. Nov. 2015 12:04 <-- editieren / zitieren --> Unities abgeben: Nur für rmcc1980
|
Greskamp Mitglied Ingenieur
Beiträge: 523 Registriert: 12.03.2003
|
erstellt am: 20. Nov. 2015 12:08 <-- editieren / zitieren --> Unities abgeben: Nur für rmcc1980
|
clausb Ehrenmitglied V.I.P. h.c.
Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 23. Nov. 2015 12:47 <-- editieren / zitieren --> Unities abgeben: Nur für rmcc1980
|
karl-josef_wernet Mitglied SysAdmin CAD-ME
Beiträge: 979 Registriert: 27.11.2000
|
erstellt am: 25. Nov. 2015 22:00 <-- editieren / zitieren --> Unities abgeben: Nur für rmcc1980
|
clausb Ehrenmitglied V.I.P. h.c.
Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 25. Nov. 2015 22:54 <-- editieren / zitieren --> Unities abgeben: Nur für rmcc1980
Zitat: Original erstellt von karl-josef_wernet: Hallo Claus, wäre aber mathematisch nicht korrekt.
Bei meinem Hinweis zu (format) ging es zunächst nur darum, wie man es mit einem Minimum an Code hinbekommt, n Nachkommastellen (im Beispiel 2) auszugeben. Das tut der Beispielcode auch korrekt. Die Rundung kann man als getrennte Aufgabe betrachten. Für zwei Nachkommastellen vielleicht so: Code:
(defun format-and-round(value) (format nil "~,2F" (+ 0.005 value)))
------------------ CoCreate Modeling FAQ: http://www.clausbrod.de/CoCreateModeling/ - Blog: http://www.clausbrod.de/Blog
[Diese Nachricht wurde von clausb am 27. Nov. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |