Rubrik: Variablen/Strings · String-Operationen | VB-Versionen: VB6 | 17.06.03 |
Währungseingabe korrekt formatieren Eine universelle Funktion, die eine Währungseingabe korrekt formatiert zurückgibt. | ||
Autor: Ulf Kersten | Bewertung: | Views: 17.540 |
www.u-kersten.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Nicht selten kommt es vor, dass man in einem Formular Eingabefelder für Währungseingaben bereit stellt. Schön wäre es dann natürlich, wenn beim Verlassen des Eingabefeldes die Eingabe autom. geprüft bzw. korrekt formatiert wird.
Meist soll die Eingabe dann entsprechend den System-Einstellungen für "Währung" formatiert werden. Und genau das erledigt nachfolgende universelle Funktion.
Die Funktion CheckCurrency erwartet als Parameter den Eingabestring. Optional lässt sich angeben, ob bei der Formatierung der Eingabe autom. das im System festgelegte Währungskürzel angehängt werden soll oder ein eigenes. Zurück erhält man dann den formatierten String inkl. Tausender- und Nachkomma-Trennzeichen.
' Währungsbetrag korrekt formatieren Public Function CheckCurrency(ByVal sWERT As String, _ Optional sCurrency As String = "System") As String If Trim$(sWERT) <> "" Then ' Komma durch Semikolon ersetzen sWERT = Replace(sWERT, ",", ";") ' Punkte herausfiltern sWERT = Replace(sWERT, ".", "") ' Semikolon durch Punkt ersetzen sWERT = Replace(sWERT, ";", ".") If sCurrency = "System" Then ' Betrag anhand System-Einstellungen formatieren sWERT = FormatCurrency(Val(sWERT)) Else sWERT = FormatNumber(Val(sWERT)) & RTrim$(" " & sCurrency) End If End If CheckCurrency = sWERT End Function
Beispiel 1:
Beim Verlassen der TextBox soll der Inhalt entsprechend den System-Einstellungen formatiert werden - inkl. dem im System festgelegten Währungskürzel.
Private Sub Text1_Validate(Cancel As Boolean) Text1.Text = CheckCurrency(Text1.Text) End Sub
Beispiel 1:
Beim Verlassen der TextBox soll der Inhalt entsprechend den System-Einstellungen formatiert, jedoch als Währungskürzel immer fest EUR verwendet werden.
Private Sub Text1_Validate(Cancel As Boolean) Text1.Text = CheckCurrency(Text1.Text, "EUR") End Sub
Beispiel 3:
Beim Verlassen der TextBox soll der Inhalt entsprechend den System-Einstellungen formatiert werden - ohne zusätzliches Währungskürzel.
Private Sub Text1_Validate(Cancel As Boolean) Text1.Text = CheckCurrency(Text1.Text, "") End Sub