vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Variablen/Strings · String-Operationen   |   VB-Versionen: VB617.06.03
Währungseingabe korrekt formatieren

Eine universelle Funktion, die eine Währungseingabe korrekt formatiert zurückgibt.

Autor:   Ulf KerstenBewertung:  Views:  17.540 
www.u-kersten.deSystem:  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



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.