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!
habe ein kleines Problem mit Scan Value. Es gibt einen Strimg z.B. 123.456, so will ich daraus eine Float-Zahl machen. Es funktioniert nur dann, wenn ich in Regions- und Spacheinstellungen einen Punkt statt einen Komma eingestellt habe.
Ansonsten (wenn Komma in SPracheinstellungen eingestellt ist) muss ich vor dem Scan Value alle Punkte im String durch Kommas erstetzen. Dann funktioniert es auch.
Nun will ich eine universelle Funktion(VI) erstellen, wo z.B. die Systemeinstellungen abgefragt werden und abhängig davon gescannt wird.
Oder gibt es schon eine solche Funktion in LabVIEW ?
Das Problem habe ich, weil ich die Programme sowohl für Europäer als auch für Amis schreibe. Bis jetzt sollte ich immer zwei verschiedene Releases machen, es ist jetzt aber zu umschtändlich geworden.
ich habe mir eine Funktion geschrieben, die mittels einer division (1.2/1) feststellt, welches Dezimalzeichen eingestellt ist. Danach ersetze ich alle Zeichen im String durch das eingestellte Zeichen.
Funktioniert halt nur nicht, wenn die tausender auch noch gezeichnet werden (z.B.: 1.300,90).
Das folgende aus der online Hilfe zu 'Format Specifier' ist m.W. nicht allgemein bekannt, hilft Dir aber vielleicht weiter:
(erreichbar über LV-Help-->Fundamentals-->Grouping Data Using Strings, Arrays, and Clusters-->How-To-->Strings-->Format Specifiers Syntax Elements)
"Localization Codes Determines if LabVIEW uses a decimal or comma to separate the whole number from the decimal part of the number. These codes control the decimal separator for numeric output. These codes do not cause any input or output to occur. They change the decimal separator for all further inputs and outputs until they find the next %;.
%,; Comma decimal separator.
%.; Period decimal separator.
%; System default separator. "
(und es funktionieren nicht nur %,; oder %.; sondern beliebige Zeichen. Z.B. würde bei Format Into String durch %|;%f die Zahl 123|456 dargestellt)
das funktioniert aber nur für den Fall, das du aus einer zahl einen String formatieren willst, nicht (wie in diesem Fall) anders herum.
Oder gibt es da noch etwas, was ich nicht kenne???
Beispiel:
System Trennzeichen: ","
String: "123.456"
nach Scan From String: 123
ich dachte erst, ich muß ebenso wie bei Format into String mein "Wunschtrennzeichen" angeben.
Jetzt aber noch eine Frage:
Da du das, im String benutzte, Trennzeichen kennen mußt -
gibt es auch noch die Möglichkeit, wenn du nicht weißt welches Trennzeichen der Anwender eingegeben hat, dies richtig zu konvertieren?