LabVIEWForum.de
Gueltigkeit eines Zahlenstrings ? - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Gueltigkeit eines Zahlenstrings ? (/Thread-Gueltigkeit-eines-Zahlenstrings)

Seiten: 1 2


Gueltigkeit eines Zahlenstrings ? - katsumi - 03.07.2007 12:52

Hi,

in einer Tabelle (2D-StringArray) muessen vom User u.a. Zahlenwerte eingegeben werden und ich moechte daher kontrollieren, ob der User auch einen gueltigen Zahlenwert als String in ein Feld eingegeben hat. Es sollen Floating Zahlen in Fractional-, Science- sowie SI Notation gueltig sein. Hat jemand von euch gaaaanz zufaellig ein fertiges VI fuer so eine Abfrage ? Rolleyes^_^

Meine Ansaetze fangen leider nicht jeden Unsinn vom user ab. Sad


Gueltigkeit eines Zahlenstrings ? - eg - 03.07.2007 12:57

' schrieb:Hi,

in einer Tabelle (2D-StringArray) muessen vom User u.a. Zahlenwerte eingegeben werden und ich moechte daher kontrollieren, ob der User auch einen gueltigen Zahlenwert als String in ein Feld eingegeben hat. Es sollen Floating Zahlen in Fractional-, Science- sowie SI Notation gueltig sein. Hat jemand von euch gaaaanz zufaellig ein fertiges VI fuer so eine Abfrage ? Rolleyes^_^

Meine Ansaetze fangen leider nicht jeden Unsinn vom user ab. Sad


Ich habe nichts fertiges für dich. Du kannst mit der Event-Struktur das Event "Key Down" abfragen und die Eingabe damit kontrollieren. Zum Kontrollieren einfach das VI "Scan From String" benutzen, denn sobald was falsches eingegeben wird, bekommst du einen Fehler von diesem VI gemeldet.

eg


Gueltigkeit eines Zahlenstrings ? - Achim - 03.07.2007 13:04

Hi katsumi,

leider hab ich so ein VI nicht fertig...aber mach's dir doch leicht: Nimm ein 2D-Double-Array und stell das auf die "bevorzugte" (wahrscheinlichste?) Formatierung ein...wird in einer anderen Formatierung eingegeben, passt sich's automatisch an die eingestellte Formatierung an...und du sparst dir die wahrscheinlich sehr umfangreiche Überprüfung...wenn du's als Text brauchst, kannst du ja dann immer noch wandeln. Außerdem erziehst du so ein bisschen die Benutzer, sich an eine Formatierung zu gewöhnen...und das ist gut, weil man dann z.B. in ner Tabelle Werte sofort auf einen Blick vergleichen kann!

Gruss
Achim


Gueltigkeit eines Zahlenstrings ? - katsumi - 03.07.2007 13:23

Es geht mir nicht um das Stringarray, sondern allein darum, wie ich einen String kontrolliere, ob in ihm ein gueltiger "Wert" steht. Habe es zuvor mit Match Pattern versucht, aber die Regular Expressions sind, wie ich finde, unvollstaendig im Gegensatz zu denen in Unix Systemen. Dann probier ich's mal mit Scan from String...Danke !Smile


Gueltigkeit eines Zahlenstrings ? - katsumi - 03.07.2007 13:48

Funktioniert nicht..Sad
%d%f%p ergibt einen Fehler, weil es einen String nach dieser Reihenfolge hin durchsucht.
Es soll doch heissen: %d ODER %f ODER %p. Wie geht das ?


Gueltigkeit eines Zahlenstrings ? - eg - 03.07.2007 14:20

' schrieb:Funktioniert nicht..Sad
%d%f%p ergibt einen Fehler, weil es einen String nach dieser Reihenfolge hin durchsucht.
Es soll doch heissen: %d ODER %f ODER %p. Wie geht das ?


%f sollte reichen.

eg


Gueltigkeit eines Zahlenstrings ? - Lucki - 03.07.2007 14:24

Das Thema gab es schon mal hier


Gueltigkeit eines Zahlenstrings ? - VDB - 03.07.2007 14:31

Hier ist ein Beispiel, mit Komma als Trennzeichen

[attachment=7251]

VDB


Gueltigkeit eines Zahlenstrings ? - katsumi - 03.07.2007 14:49

Hab's nun hinbekommen...endlich.Smile

Nur %f funzt nicht, da wird die SI Notation nicht beruecksichtigt.
Hab auch Leerstring sowie Eingabe von ".12345", falls ein User zu faul ist die Null vor dem Punkt zu setzen. Muss an jeden DAU denken, der spaeter das Programm benutzt. Lol

Danke fuer Eure Hilfe ! Dais

[attachment=7254] Korrektur !


Gueltigkeit eines Zahlenstrings ? - katsumi - 03.07.2007 14:55

Kann mir jemand erklaeren, warum am letzten Scan from String ein Output angehaengt werden muss, sonst funzt es nicht. Mir erschliesst sich die Logik nicht.