LabVIEWForum.de
String mit 2 Nachkommastellen anzeigen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: String mit 2 Nachkommastellen anzeigen (/Thread-String-mit-2-Nachkommastellen-anzeigen)



String mit 2 Nachkommastellen anzeigen - anne - 10.01.2014 15:20

Hallo Forum,

ihr habt mir schon sehr oft passiv geholfen. Heute brauche ich sogar aktive Hilfe:

Ich lasse mir Daten als 1-D Array String auf dem Frontpanel anzeigen. Die haben aber relativ viele Nachkommastellen und ich würde gerne auf zwei Stellen nach dem Komma runden oder zur Not einfach abschneiden. Die Werte befinden sich aber im 10er und 100er und 1000er Bereich, sodass ich nicht einfach nach xx,xx Stellen abschneiden kann.
Gibt es da eine Möglichkeit oder muss ich den String erst in einen Double umwandeln zum runden?

Vielen Dank im Voraus!
Anne


RE: String mit 2 Nachkommastellen anzeigen - macmarvin - 10.01.2014 16:05

Ich würde es mit Wandeln in DBL und wieder zurück machen.
Aber als Q'n'D Lösung mit abschneiden:
[attachment=47983]


RE: String mit 2 Nachkommastellen anzeigen - anne - 10.01.2014 16:56

Danke erstmal.

Es muss auch nicht unbedingt in der Anzeige ein String sein. Das ist mir total egal, ob das String oder Double ist, Hauptsache es hat nur zwei Nachkommastellen.
Die Arrays sind auch bis auf den ersten Eintrag immer leer. Wenn es also eine Lösung für den Array gäbe, wäre das natürlich Premium. Aber wenn es "nur" eine schicke Lösung ohne Umwandlung für ein einziges Element gibt, ist das extrahieren dieses einen Wertes aus dem sonst leeren Array ja die einfachste Übung.


RE: String mit 2 Nachkommastellen anzeigen - Trinitatis - 10.01.2014 17:05

(10.01.2014 16:56 )anne schrieb:  Es muss auch nicht unbedingt in der Anzeige ein String sein. Das ist mir total egal, ob das String oder Double ist, Hauptsache es hat nur zwei Nachkommastellen.



Hallo Anne,

wenn du denn auch ein DBL-Array verwenden kannst, dann kannst du mit der rechten Maus auf ein Element des Arrays gehen und im Kontextmenü "Format und Genauigkeit" auswählen und dort genau 2 Kommastellen anzeigen.

Dann wäre dein Problem doch schon gelöst.




Gruß, Marko


RE: String mit 2 Nachkommastellen anzeigen - Lucki - 10.01.2014 17:58

Alternativ zu McMarvin:
[attachment=47986]


RE: String mit 2 Nachkommastellen anzeigen - anne - 10.01.2014 20:14

@Marko

So mache ich es schon bei den Daten, die ich durch Berechnung als Double auslesen kann. Wenn ich allerdings nur einen Wert aus dem Datenstrang rausziehe, ist dieser immer ein Stringarray.
Ich frage mich jetzt nur ob es vom Rechenaufwand her günstiger ist, diesen
a) in einen Double umzuwandeln und dann eben nur über die Eigenschaften die Nachkommastellen anzupassen oder
b) irgendwie im String nach dem "," zu suchen und dann "alle Zeichen bis dahin plus 2" anzeigen zu lassen (das kriege ich allerdings auch nicht hin)

Was meint ihr ist schneller?

Danke!


RE: String mit 2 Nachkommastellen anzeigen - jg - 10.01.2014 21:25

(10.01.2014 20:14 )anne schrieb:  Was meint ihr ist schneller?
Hängt stark von der Größe deiner Arrays ab. Ich gehe davon aus, dass Wandlung in Zahlen insgesamt schneller geht, denn:

a) bei der String-Lösung (s. macmarvin) musst du dich per For-Schleife durch jedes Element hangeln und dort die Strings manipulieren

b) bei der Zahl-Lösung (s. Lucki) kannst du per LabVIEW-Primitives das gesamte Array auf einmal behandeln. Aus Erfahrung sind diese Funktionen deutlich schneller als Operationen in Schleifen.

Unterschiede merken wirst du aber sicher erst ab ein paar 10000 Elementen, und die will sowieso niemand als Array im Frontpanel sehen.

Gruß, Jens

EDIT: Deinen b-Ansatz hat dir macmarvin programmiert (Komma suchen...), was kriegst du daran nicht hin?


RE: String mit 2 Nachkommastellen anzeigen - anne - 10.01.2014 22:15

Ach, da hatte ich auch Tomaten auf den Augen. Die Lösung für b) steht ja tatsächlich schon da...
Im Array ist ja immer nur der erste Eintrag belegt, von daher sollte die Schleife nicht zu lange dauern.
Aber dann ist es wohl trotzdem am schnellsten und einfachsten die Strings für die 30-40 Anzeigeelemente in Doubles umzuwandeln.

Herzlichen Dank für eure Hilfe Smile


RE: String mit 2 Nachkommastellen anzeigen - Trinitatis - 10.01.2014 22:46

Hallo Anne,

nur mal so am Rande ein freundlich gemeinter Rat:

Gerade, was Geschwindigkeiten angeht, kann man recht einfach das programmierte in eine Schleife legen und ein paar -zig hundert oder tausend oder hunderttausend mal durchlaufen lassen.
So bekommt man sehr schnell ein Gefühl, was schneller ist, auch ohne eine konkrete Zeitmessung - vor allem ist es einprägsamer, als wenn einem einer sagt: nimm diese oder jene Lösung.


Gruß, Marko


RE: String mit 2 Nachkommastellen anzeigen - macmarvin - 11.01.2014 01:02

Das Umwandeln ohne For-Schleife hat allerdings den Nachteil, dass das Handling des Dezimaltrenners schlecht komplett unabhängig von System- und LV-Einstellungen geht. Zumindest kenne ich keine schöne Lösung. Die Stringfunktionen bei denen man ordentlich per Formatstring die Umwandlung steuern kann, mögen keine Arrays.