Es sieht sehr seltsam aus, aber ich kann keine Online-Lösung für mein Problem finden! Zumindest in VB.NET.Automatische Nachkommastellen in Textfeld
Hier ist der Deal: Ich habe ein TextBox in einem Formular (begrenzt auf Zahlen von einem KeyPress
Ereignis) und möchte zwei Dezimalstellen beibehalten, solange der Benutzer seine Daten eingibt.
Zum Beispiel, wenn die TextBox leer ist, dann, wenn der Benutzer drückt, sagen wir "2", die TextBox zeigt "0,02". Wenn der Benutzer dann "7" drückt, zeigt die TextBox "0,27" an. Dann wieder, mit der Taste „6“ ist, zeigt es „2,76“ und so weiter ...
ich es geschafft, dies mit dem Code für eine Dezimalstelle zu tun:
Select Case Me.TextBox.Text
Case ""
Case ","
Me.TextBox.Text = ""
Case Else
Me.TextBox.Text = Strings.Left(Replace(Me.TextBox.Text, ",", ""), Strings.Len(Replace(Me.TextBox.Text, ",", "")) - 1) & "," & Strings.Right(Replace(Me.TextBox.Text, ",", ""), 1)
Me.TextBox.SelectionStart = Len(Me.TextBox.Text)
End Select
Bitte beachten Sie, dass: Dieser Code läuft auf einem TextChanged
Ereignis; 2. Ich komme aus Portugal und hier verwenden wir ein Komma (",") anstelle eines Punktes (".") Für das Dezimaltrennzeichen.
Können Sie mir helfen, meinen Code so anzupassen, dass er mit zwei Dezimalstellen richtig funktioniert?
Jede Hilfe wird sehr geschätzt. Und wie immer, vielen Dank im Voraus.
Anstatt den Text zu ändern, würde ich das 'Leave' -Ereignis verwenden, so dass Sie nicht mit den Dezimalzeichen kämpfen müssen, die Sie eingeben. Dann benutze 'ToString (0', um das Dezimalzeichen zu verwenden, das die Kultur verwendet – Plutonix
Du verwendest das falsche Ereignis, benutze stattdessen das Validating-Ereignis. Decimal.TryParse + Decimal.ToString sollte nützlich sein. –
https://stackoverflow.com/ questions/16035506/format-a-nummer-mit-kommas-und-dezimal-in-c-sharp-asp-net-mvc3 aC# antworten auf eine relativ ähnliche Frage, es könnte Ihnen helfen! – Kevin