Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Hallo,
ich habe ein Messgerät von dem ich Daten auslese und diese weiterverarbeiten will. Mein Problem ist, dass das Messgerät nur Stringwerte ausgibt. Ich benötige zur weiterverarbeitung aber fließkommawerte. Die Ausgabe des Gerätes sieht beispielsweise wie folgt aus:
5.678E1
Wenn ich jetzt das VI Dezimal-String nach Zahl verwende, wird der Wert gerundet, ich benötige ihn ungerundet. Hat jemand einen Vorschlag?
geist07
"Zwei Dinge sind zu unserer Arbeit nötig: Unermüdliche Ausdauer und die Bereitschaft, etwas, in das man viel Zeit und Arbeit gesteckt hat, wieder wegzuwerfen." (Albert Einstein)
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Danke für die schnelle Antwort,
und wie immer ist die Lösung des Probelms ganz einfach, man muss nur ersteinmal darauf kommen.
"Zwei Dinge sind zu unserer Arbeit nötig: Unermüdliche Ausdauer und die Bereitschaft, etwas, in das man viel Zeit und Arbeit gesteckt hat, wieder wegzuwerfen." (Albert Einstein)
Habe bei dem VI gerade folgendes Problem festgestellt,
gebe einfach nacheinander mal folgende Werte ein und vergleich Sie
3.5E2
3.5
3.5E-2
dass sind alles Werte die ich als Ausgabe des Messgerätes erhalten kann. Die zugehörige Ausgabe zu oben genannten Werten sieht wie folgt aus
350,0
4,0
0,0
Wie kann ich diese groben rundungen beheben?
"Zwei Dinge sind zu unserer Arbeit nötig: Unermüdliche Ausdauer und die Bereitschaft, etwas, in das man viel Zeit und Arbeit gesteckt hat, wieder wegzuwerfen." (Albert Einstein)
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
String nach Zahl
Bei mir gibt's keine Rundungen....
Gruß Markus
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Bei mir hat ers aber gemacht, habe aber die Lösung des Problems gefunden, Lag am Anzeigeelement, einfach unter Darstellung von Long auf dollpelte Genauigkeit stellen.
"Zwei Dinge sind zu unserer Arbeit nötig: Unermüdliche Ausdauer und die Bereitschaft, etwas, in das man viel Zeit und Arbeit gesteckt hat, wieder wegzuwerfen." (Albert Einstein)
07.04.2008, 12:47 (Dieser Beitrag wurde zuletzt bearbeitet: 07.04.2008 12:48 von Y-P.)
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
String nach Zahl
Freut mich, wundert mich aber trotzdem, weil ich ja auch nichts geändert habe und es doch funktioniert hat. Vielleicht gibt es irgendwo eine Standardeinstellung, die ich irgendwann mal geändert habe (vielleicht ja auch Du bei Dir).
Gruß Markus
' schrieb:Bei mir hat ers aber gemacht, habe aber die Lösung des Problems gefunden, Lag am Anzeigeelement, einfach unter Darstellung von Long auf dollpelte Genauigkeit stellen.
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
09.04.2008, 11:55 (Dieser Beitrag wurde zuletzt bearbeitet: 09.04.2008 12:00 von rolfk.)
' schrieb:Habe bei dem VI gerade folgendes Problem festgestellt,
gebe einfach nacheinander mal folgende Werte ein und vergleich Sie
3.5E2
3.5
3.5E-2
dass sind alles Werte die ich als Ausgabe des Messgerätes erhalten kann. Die zugehörige Ausgabe zu oben genannten Werten sieht wie folgt aus
350,0
4,0
0,0
Wie kann ich diese groben rundungen beheben?
Wie wäre es mit dem lokalisierten Dezimalpunkt? Du scheinst ja Kommas zu benützen als Dezimalpunkt auf Deinem System. Instrumente schicken aber eigentlich immer einen Dxezmalpunkt und der grosse Rest der Welt ausser Deutschland und die Niederlanden scheint dies auch in den lokalen Einstelungen zu bervorzugen.
Die LabVIEW Fliesskommakonversionsfunktion verwenden bei Default aber eben auch das eingestellte lokale Format sowohl für die String->Fliesskommazahl Konvertierung als auch für die umgekehrte Richtung. Je nach dem welche Funktionen Du verwendest kannst Du das aber überschreiben:
Bei Formatstringfunktionen wie Format into String or Scan from String durch voranstellen von %.; an den Formatstring, und bei den Number to Fractional, Exponential, Engineering String und Fract/Exp String to Numeric Funktionen durch verbinden einer False Konstante an den entsprechenden Eingang. Für die Formatstringfunktionen kann man mit %,; vorangestellt auch expliziet ein Komma als Dezimalpunkt erzwingen. %; oder gar nichts verwendet die Einstellung des Systems.
Alternativ gibt es in den LabVIEW Optionen eine Einstellung wo man die Verwendung des lokal eingestellten Dezimalpunktes ausschalten kann so dass LabVIEW immer einen Punkt verwendet. Das resultiert dann aber auch in Fliesskommazahlen auf dem Frontpanel die den Dezimalpunkt verwenden und man muss auch nicht vergessen für Executables die entsprechend INI File Einstellung von LabVIEW.ini in die eigene INI Datei zu übernehmen.
Selber programmiere ich immer so dass im Frontpanel und bei Imports/Exports in Datafiles die lokale Einstellung verwendet wird um die Zusammenarbeit mit z.B. Excel zu ermöglichen und wo das nötig ist (Instrumentkommunikation) explizit den geforderten Dezimalpunkt einstelle.