tausender trennzeichen

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von strom.

    tausender trennzeichen

    hallo, ich würde gerne bei größeren zahlen ein tausender trennzeichen mit punkt erstellen. leider funktioniert das nicht so wie ich mir das gedacht habe.

    also folgendermaßen:

    100 -> 100
    1000 -> 1.000
    10000 -> 10.000
    100000 -> 100.000
    1000000 -> 1.00.000
    usw.

    habe bisher das hier:

    VB.NET-Quellcode

    1. Dim ersatz() As String
    2. Dim lastw As String = Nothing
    3. Dim neutext As String = Nothing
    4. Dim GroßeZahl As String = txt_hp.Text
    5. Dim ZahlString As String = String.Format("{0:N}", GroßeZahl)
    6. If IsNumeric(GroßeZahl) Then
    7. If ZahlString.Contains(",") Then
    8. ersatz = Split(ZahlString, ",")
    9. For i = 0 To ersatz.Length - 2
    10. neutext = neutext & ersatz(i) & "."
    11. lastw = ersatz(i + 1)
    12. Next
    13. txt_hp.Text = neutext & lastw
    14. End If
    15. End If

    VB.NET-Quellcode

    1. Dim txt As String = String.Format("{0:n}", 1000000000)
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Die Antwort hat nicht zur fehlerbehebung beigetragen. Bin selbst auf die Lösung gekommen.

    da string.format nur bei zahlen funktioniert musste ich es erst in z.b. eine double umwandeln.

    hier die lösung:

    VB.NET-Quellcode

    1. Dim ersatz() As String
    2. Dim lastw As String = Nothing
    3. Dim neutext As String = Nothing
    4. Dim GroßeZahl As String = txt_hp.Text
    5. Dim grz As Double
    6. If IsNumeric(GroßeZahl) Then
    7. grz = CDbl(GroßeZahl)
    8. Dim ZahlString As String = String.Format("{0:n}", grz)
    9. ersatz = Split(ZahlString, ",")
    10. txt_hp.Text = ersatz(0)
    11. Else
    12. If GroßeZahl.Contains(",") Then
    13. ersatz = Split(GroßeZahl, ",")
    14. For i = 0 To ersatz.Length - 2
    15. neutext = neutext & ersatz(i) & "."
    16. lastw = ersatz(i + 1)
    17. Next
    18. txt_hp.Text = neutext & lastw
    19. End If
    20. End If