| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: (zahl? 123.45) -> True (543 mal gelesen)
|
Geos Mitglied Vermessungstechniker i.R.
Beiträge: 1017 Registriert: 21.09.2001 ACAD Map 2010, Win 7 Pro eigene Lisp's<P>HW: Core i7 860, 2.8 GHz 3.3 GB, NVIDIA GeForce GTS 250
|
erstellt am: 17. Jan. 2008 09:42 <-- editieren / zitieren --> Unities abgeben:
Servus Leider werden die Anführungszeichen im Betreff entfernt - sollte eigentlich (zahl? "123.45") -> True heißen. Ich glaub', ich hab so eine Funktion schon wo gesehen - find's aber nicht mehr. Es geht darum festzustellen, ob ein Wert eine Zahl darstellt. Mir fällt jetzt nur dazu ein, mit (type) auf STR INT oder REAL zu prüfen und im Falle von STR, jeden einzelnen Charakter auf 0-9, bzw. Komma zu prüfen. Ich denke, dass das dort besser gelöst war. Ob die Funktion jetzt genau "zahl?" hieß, oder nur so ähnlich, kann ich nicht sagen. Danke für Hinweise oder hat jemand einen besseren Lösungsvorschlag.
------------------ Schöne Grüße Ernst www.geopaint.at Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur
Beiträge: 7085 Registriert: 13.01.2004 ich hab eh keine Probleme damit...
|
erstellt am: 17. Jan. 2008 09:53 <-- editieren / zitieren --> Unities abgeben: Nur für Geos
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 17. Jan. 2008 09:56 <-- editieren / zitieren --> Unities abgeben: Nur für Geos
nimm (distof ZAHLSTRING) .. liefert nil, wenn ZAHLSTRING nicht numerisch interpretiert werden kann (distof "2")-> 2.0 (distof "1e3")-> 1000.0 (distof "asc")-> nil ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Geos Mitglied Vermessungstechniker i.R.
Beiträge: 1017 Registriert: 21.09.2001 ACAD Map 2010, Win 7 Pro eigene Lisp's<P>HW: Core i7 860, 2.8 GHz 3.3 GB, NVIDIA GeForce GTS 250
|
erstellt am: 17. Jan. 2008 11:34 <-- editieren / zitieren --> Unities abgeben:
Auf Axels Seiten hab ich zwar geschaut (aber im roten Bereich), doch die Seitentitel sind leider nicht so hilfreich, wenn man was sucht - und mein Kochbuch liegt leider daheim. Bin mir ziemlich sicher, dass das die Quelle meiner Erinnerung ist. Und (distof) ist auch eine gute Idee. Danke ------------------ Schöne Grüße Ernst www.geopaint.at [Diese Nachricht wurde von Geos am 17. Jan. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Wolfgang S Mitglied CADaver
Beiträge: 270 Registriert: 06.03.2006 AC 2009, C3D 2009, AC 2010, C3D 2010, AC 2011, C3D 2011, RVT 2010, RVT 2011, ASD 2011 und alles darunter bis R14 + Win XP, Win XP64, Win 7/64
|
erstellt am: 17. Jan. 2008 15:27 <-- editieren / zitieren --> Unities abgeben: Nur für Geos
|
Geos Mitglied Vermessungstechniker i.R.
Beiträge: 1017 Registriert: 21.09.2001 ACAD Map 2010, Win 7 Pro eigene Lisp's<P>HW: Core i7 860, 2.8 GHz 3.3 GB, NVIDIA GeForce GTS 250
|
erstellt am: 18. Jan. 2008 07:21 <-- editieren / zitieren --> Unities abgeben:
Danke, das kann man sicher mal brauchen (schon abgespeichert). Dieses Mal genügt mir die Feststellung, ob der Wert eine Zahl darstellt (runden ja/nein). Code: (defun f#zahl? (#wert / ) (if (or (= (type #wert) 'INT) (= (type #wert) 'REAL) (distof #wert) ) T ) )
------------------ Schöne Grüße Ernst www.geopaint.at Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dabrunz Mitglied
Beiträge: 127 Registriert: 28.05.2003
|
erstellt am: 28. Jan. 2008 12:07 <-- editieren / zitieren --> Unities abgeben: Nur für Geos
Tag zusammen, Geos, mein lieber, was tust du denn da? Nach deiner Beschreibung gilt doch: (type #wert) -> STRING Das kann nicht funktionieren würde ich meinen. So geht's immer (wie schon CADmium trefflich bemerkt hat): Code:
(defun f#zahl (#wert) (distof #wert) )
Mehr brauchst du nicht - ehrlich. Achim ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Geos Mitglied Vermessungstechniker i.R.
Beiträge: 1017 Registriert: 21.09.2001 ACAD Map 2010, Win 7 Pro eigene Lisp's<P>HW: Core i7 860, 2.8 GHz 3.3 GB, NVIDIA GeForce GTS 250
|
erstellt am: 28. Jan. 2008 18:50 <-- editieren / zitieren --> Unities abgeben:
Hallo Achim Das Ziel war schon eine Funktion, die man sowohl mit STRINGs, als auch mit INTs oder REALs füttern kann. Aber weil letztere eh kein Problem darstellten, bezog sich die Frage nur mehr auf STRINGs. Aber danke trotzdem für Deine Antwort. ------------------ Schöne Grüße Ernst www.geopaint.at Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 25. Feb. 2008 10:32 <-- editieren / zitieren --> Unities abgeben: Nur für Geos
Nachtrag ... dann laß doch alle Dateitypen zu : (defun f#zahl? (#wert / ) (if (or (= (type #wert) 'INT) (= (type #wert) 'REAL) (and (= (type #wert) 'STR) (distof #wert) ) ) T ) ) ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |