| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
| |
| Webcast: PTC | Smart Services, ein Webinar am 13.12.2024
|
Autor
|
Thema: Zahlenformat (502 mal gelesen)
|
Denys Mitglied Konstrukteur
Beiträge: 39 Registriert: 09.09.2003 OSD 12.01 ME10 10.00 W2k
|
erstellt am: 12. Okt. 2004 11:22 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich bin gerade dabei mein erstes Lisp zu schreiben. Für ein neu zu erstellendes Teil möchte dessen Namen aus den Eingabedaten kreieren lassen. (setf Part-name (format nil "/~a-~ax~a" Da WD)) Die Variable Da wird im Dialog als positive-integer abgefragt, WD dagegen als positive-length. In Part-name erscheint nun WD mit etlichen Nachkommastellen (z.B. 5.2000000000000002 bei Eingabe 5.2), was natürlich nicht so schick ist. Wie kann ich das Format für WD mit nur einer Nachkommastelle festlegen bzw. noch besser dieses schon im Eingabedialog begrenzen? Im übrigen handelt es sich um ein Lisp analoge dem des Boden.mac (ME10), für OSDM selbstverständlich etwas funktionaler. ;-) Wenn Interesse besteht stell ich es hier ins Forum. ------------------ Gruss Denys Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Walter Geppert Moderator Frank und Frei
Beiträge: 2158 Registriert: 12.12.2000
|
erstellt am: 12. Okt. 2004 12:38 <-- editieren / zitieren --> Unities abgeben: Nur für Denys
Die format-Funktion stellt, wie schon der Name sagt, ausser dem klassischen "~a" eine ganze Reihe von Möglichkeiten zur Verfügung z.B: (setf zahlenstring (format nil "irgendeintext~4,2,,,'0Fnocheintext" longfloat)) formatiert eine Dezimalzahl mit zwei Nachkommastellen und, falls notwendig, mit einer Null vor dem Dezimalpunkt ------------------ meine LISP-Makros sind auf Heikos Hilfeseite Grüße aus Wien Walter DC4 Technisches Büro GmbH Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorothea Mitglied
Beiträge: 242 Registriert: 22.11.2001
|
erstellt am: 12. Okt. 2004 13:02 <-- editieren / zitieren --> Unities abgeben: Nur für Denys
Hallo, Es gibt auch im Developers Kit eine Reihe von Funktionen, die mit Strings arbeiten. Guck doch mal nach unter help/Common/documentation/integration_kit/reference/strings.html Fuer die Umwandlung von Zahlen in Strings gibt es die Funktion:
Code:
(sd-num-to-string number [digits])
Gruss Dorothea Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Denys Mitglied Konstrukteur
Beiträge: 39 Registriert: 09.09.2003 OSD 12.01 ME10 10.00 W2k
|
erstellt am: 12. Okt. 2004 13:56 <-- editieren / zitieren --> Unities abgeben:
Hallo Walter, danke für die schnelle Antwort. Dass die Lsg. in den Parametern der format-Funtion zu suchen ist dachte ich mir bereits, jedoch war meine web-Suche über Lisp nicht ergiebig genug. Ich habe nun die 4.2 durch 2.1 an meinen Fall angepasst, wofür das nachfolgende ,,,'0F steht ist mir noch nicht ganz durchsichtig. Hallo Dorothea, auch besten Dank an dich. Insbesondere für die Quellenangabe, diese werde ich mir nun ausführlich zu Gemüte ziehen. Man muss halt wissen wo man Was finden kann. Mein erstes Lisp ist damit komplett und funktioniert perfekt. **freu**
------------------ Gruss Denys 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: 12. Okt. 2004 16:04 <-- editieren / zitieren --> Unities abgeben: Nur für Denys
|