Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  PTC Creo Elements/Programmierung
  Zahl in String wandeln mit Nachkommastellen?

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO
  
TFH Technical Services B.V. wird Teil der MAIT Gruppe, eine Pressemitteilung
Autor Thema:  Zahl in String wandeln mit Nachkommastellen? (1379 mal gelesen)
Andreas 253
Mitglied
 


Sehen Sie sich das Profil von Andreas 253 an!   Senden Sie eine Private Message an Andreas 253  Schreiben Sie einen Gästebucheintrag für Andreas 253

Beiträge: 157
Registriert: 01.03.2002

erstellt am: 10. Dez. 2003 10:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen,

Ich habe folgendes Problem:
Ein ME10-Makro soll unter anderem einen Text ausgeben, in dem ein Maß vorkommt.
Dieses Maß soll grundsätzlich mit 3 Nachkommastellen erscheinen, auch wenn es ein glattes Maß ist.
Jetzt gibt die STR - Funktion aber keine Nullen als Nachkommastellen zurück, und ich weiß auch nicht, ob die Maße immer glatt sind.

Gibt es da eine EINFACHE Möglichkeit, diese Variable in einen String zu verwandeln, der die Nachkommastellen enthält, oder muß ich da irgendwas kompliziertes basteln?

Gruß
Andreas

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

baumgartner
Mitglied
Dipl.-Ing. Maschinenbau


Sehen Sie sich das Profil von baumgartner an!   Senden Sie eine Private Message an baumgartner  Schreiben Sie einen Gästebucheintrag für baumgartner

Beiträge: 715
Registriert: 05.01.2001

Ing.-Büro Andreas Baumgartner bietet Lösungen rund um ME10.
* ME10-Makros
* ME10-Makroschulungen

erstellt am: 10. Dez. 2003 12:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Andreas 253 10 Unities + Antwort hilfreich

hallo,
ich denke, dass man sich da etwas basteln muss.
Runde doch den Wert grundsätzlich mal auf 3 Nachkommastellen, dann wandle zu Text. Suche nach dem Dezimalpunkt und reagiere entsprechend.

let wert_txt (str ((round (wert*1000))/1000))
if (pos "." wert_txt)
  let wert_txt (wert_txt + "00")  (* = mindestens 1 Nachkomma vorh. *)
  let wert_txt (substr wert_txt 1 ((pos ".". wert_txt) +4)))
      (* schneide nach 4 Stellen nach dem Dezimalpunkt ab *)
else
  let wert_txt (wert_txt + ".000") (* war keine Nachkomma da *)
end_if

gebastelt, ungetestet, unsupportet, aber doch ganz einfach.

------------------
Grüsse aus dem Schwarzwald 
www.Andreas-Baumgartner.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

H.annes
Mitglied
CAD-Pfriemler


Sehen Sie sich das Profil von H.annes an!   Senden Sie eine Private Message an H.annes  Schreiben Sie einen Gästebucheintrag für H.annes

Beiträge: 482
Registriert: 02.07.2001

OSDD 8.7 - 13.20 ; OSDM 13.00

erstellt am: 10. Dez. 2003 13:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Andreas 253 10 Unities + Antwort hilfreich

Mahlzeit,

ein einfaches Makro - auf die gewünschten drei Stellen zugeschnitten:

Code:
DEFINE Runden
  PARAMETER Zahl
  LET S (STR (ROUND (Zahl * 1000)))
  LET Gerundetezahl (SUBSTR S (LEN S - 3) 1 + "," + SUBSTR S (LEN S - 2) 3)
END_DEFINE

DISPLAY Gerundetezahl


oder - die gfeanzte Variante  :

Code:
DEFINE Runden
  PARAMETER Zahl
  (SUBSTR (STR (ROUND (Zahl * 1000))) (LEN (STR (ROUND (Zahl * 1000))) - 3) 1
  + "," +
  SUBSTR (STR (ROUND (Zahl * 1000))) (LEN (STR (ROUND (Zahl * 1000))) - 2) 3)
END_DEFINE

zB:
LET Zahlentext Runden 27.2098


Gruß,
Hannes

------------------
undsedadnawosondasoisdeswossedan undwosondasdadnsa

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Klaus Lörincz
Mitglied
Consultant


Sehen Sie sich das Profil von Klaus Lörincz an!   Senden Sie eine Private Message an Klaus Lörincz  Schreiben Sie einen Gästebucheintrag für Klaus Lörincz

Beiträge: 533
Registriert: 06.08.2003

OSD M = aktuell
OSD D = aktuell
OS M = aktuell
auf WIN und HP-UX

erstellt am: 10. Dez. 2003 13:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Andreas 253 10 Unities + Antwort hilfreich

Hallo Andreas,

in der Version 12 von OSDD/ME10 bekomme ich immer die
Zahlen nach dem Komma (egal ob "." oder ",") mit dem
Befehl STR mit.


Grüßle

------------------
Klaus Lörincz
0174 3439 428
Sindelfingen
Germany

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Andreas 253
Mitglied
 


Sehen Sie sich das Profil von Andreas 253 an!   Senden Sie eine Private Message an Andreas 253  Schreiben Sie einen Gästebucheintrag für Andreas 253

Beiträge: 157
Registriert: 01.03.2002

erstellt am: 10. Dez. 2003 13:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Andreas und Danke für die schnelle Antwort!

Ich hab mir schon so etwas gedacht und werd da mal auf dieser Grundlage was basteln.

Gruß
Andreas

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Andreas 253
Mitglied
 


Sehen Sie sich das Profil von Andreas 253 an!   Senden Sie eine Private Message an Andreas 253  Schreiben Sie einen Gästebucheintrag für Andreas 253

Beiträge: 157
Registriert: 01.03.2002

erstellt am: 10. Dez. 2003 13:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo alle miteinander, das war ja hübsch gleichzeitig!

@Hannes: Deine Variante sieht auch recht vielversprechend aus, werd ich mal testen!

@Klaus: Danke für die Info, leider arbeiten wir noch mit der V 11.0b und da ich nicht weiß, wann die neue Version bei uns zum Einsatz kommt, muß ich wohl erstmal auf eine der vorliegenden Lösungen zurückgreifen.
Außerdem brauche ich ja im Zweifelsfalle auch 3 Nullen hinter dem Komma, geht das bei der neuen Version auch?

Gruß

Andreas

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz