Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1588to1592
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Frage zu Type Conversion

Frage zu Type Conversion
08.11.2017 10:51:26
Peter(silie)
Hallo Leute,
ich habe eine Getter und Setter Klasse für definierte Types.
Wenn ich sage:
Db.Amount_of_Objects = CLng(frm_Input.tb_Amount_of_Objects.Text)

(Db.Amount_of_Objects ist vom Typ Long)
Dann erhalte ich einen Fehler, sofern dieses Feld auf der Userform leer ist.
Wenn ich sage:
Db.Amount_of_Objects = CLng(Val(frm_Input.tb_Amount_of_Objects.Text))
Wird mein Setter richtig ausgeführt und es wird eine Null eingetragen.
Ist es Sinnvoll die Conversion mit Val durch zu führen oder sollte ich
vorher den Inhalt Prüfen und "manuell" konvertieren?
(Dazu sei gesagt, dass die Textbox per KeyPress Event,
sowieso nur ganzzahlen zulässt)

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Frage zu Type Conversion
08.11.2017 11:24:09
Nepumuk
Hallo Peter,
mit Val kann zwar nichts passieren auch wenn der Benutzer mit Strg+C Text einfügt, aber ich würde auf alle Fälle mit IsNumeric prüfen.
Das ist mein persönlicher Programmierstiel.
Gruß
Nepumuk
Programmieren am Stiel, aber mit Style ;-) (owT)
08.11.2017 12:27:42
EtoPHG

Danke für Hilfe :) ... owt
08.11.2017 13:33:56
Peter(silie)

AW: Frage zu Type Conversion
08.11.2017 13:55:01
Daniel
Hi
bei VAL kann man nicht erkennen, ob der Anwender jetzt bewusst "0" eingegeben hat oder eben einen nichtkonvertierbaren Text.
weiterhin muss man bei VAL berücksichtigen, dass VAL in der Regel immer den Punkt als Dezimalzeichen verwendet, während die C-Funktionen (CLng, CDbl) das Dezimalzeichen der eingestellten Länderversion verwenden.
Gruß Daniel
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige