Hoi Leute,
aktuell bin ich auf der Suche nach ner LabVIEW Funktion mit der ich einen eingelesen String aus nem Messgerät
(Bsp. 12.123423E+0) stellenmäßig verkürzen kann. Geht doch sicher direkt auch irgendwie.
Bisher hab ich das Ding in nen DBL verwandelt und dann wieder zurück in nen String mit ner geringern Genauigkeit,
aber das kanns doch net sein, oder?
mfg, gEist
Du könntest natürlich "Split String" (String Palette) verwenden, d.h. du suchst dir mit "Match Pattern" das Komma/den Punkt und merkst dir den Index...dann schneidest du den Originalstring an dieser Stelle + X einfach ab...dadurch geht dir natürlich evtl. eine "E+y" oder "E-y" verloren...also müsstest du das vorher auch noch abprüfen (evtl. auch mit Match Pattern + Index merken) und entsprechend wieder an deinen abgeschittenen String dranhängen...und gerundet würde auch nicht, d.h. du müsstest dir die Stelle (X+1) anschauen, bevor du den String "splittest", und dann die Stelle X ersetzen und die gerundete Zahl wieder an deine String hängen...dass runden könntest du mit ner Case-Struktur machen (wenn String an Stelle X+1 = 5 (oder 6 oder 7 oder 8 oder 9), dann Stelle X ersetzen...hier könntest du wieder nen Case machen oder in Numeric wandeln (aber das wolltest du ja nicht...) und +-1... du müsstest dabei auch noch beachten, ob nicht die Stelle (X-1) durch die Rundung verändert wird (z.b. von xxx.34799145 nach xxx.348)...alles in allem saumäßig kompliziert, aufwändig und fehleranfällig...
...insofern fährst du mit der von dir gewählten Variante wesentlich besser...in den beiden von dir verwendeten VI's wird nämlich genau das gemacht!
Gruss
Achim