jougli Geschrieben 3. April 2001 Geschrieben 3. April 2001 Hi, kann mir jemand helfen. Ich möchte aus einem Text eine Dezimalzahl extrahieren können. Eine ganze Zahl kann ich z.B. Text = " 5 % Provision" Text = Val(Text) Es wird dann nur 5 gemerkt. Das Problem, es funktioniert nicht mit Dezimalzahlen (Komma wird nicht erkannt). Hat jemand eine Idee? Zitieren
Rosebutt Geschrieben 3. April 2001 Geschrieben 3. April 2001 bisserl umständlich, aber versuch mal den text zu zerlegen, und zwar in buchstaben und sonstiges bis zur ersten zahl: "Alkoholgehalt:" und "4,8% Vol" Dann klapperst du den zweiten Textstring (der fängt ja jetzt mit der Zahl an)einstellig ab, bis ein Zeichen kommt, das kein komma/Punkt ist, und asciimässig ausserhalb der Werte 48-57 (Zeichen 0-9) liegt. wenn das der fall ist, bist du nämlich auf der ersten stelle nach der zahl, und kannst dort den rest des textes abschneiden. methoden: -mid$ -zähler (um zu bestimmen, ab welcher stelle später der Resttext abgeschnitten werden soll) Zitieren
Wolle Geschrieben 3. April 2001 Geschrieben 3. April 2001 Hi, ich habe das gerade mal ausprobiert. Du mußt als Dezimaltrennzeichen einen Punkt statt einem Komma nehmen. Dann klappt es mit val(). Falls das nicht möglich ist, kannst du immernoch den String in eine Hilfsvariable einlesen und da mit instr() und mid() das Komma in einen Punkt umwandeln. Zitieren
jougli Geschrieben 3. April 2001 Autor Geschrieben 3. April 2001 Hi, habe schon eine bessere Lösung bei http://spotlight.de/zforen/mvb/t/forum_mvb_1.html erhalten. Text = " 12,34 % Provision" Text = Replace(Text, "%", "X") Text1.Text = Val(Replace(Text, ",", ".")) Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.