Textboxausgabe

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von HenryV.

    Textboxausgabe

    Hallo

    ich habe eine TextBox worin mir das Ergebnis einer Berechnung ausgeworfen wird.
    Nun möchte ich das mir große zahlen ohne Punkt ausgegeben werden.
    D.h bisher wird mir zum Beispiel 563.368 ausgegeben ich möchte jedoch 563368 ausgegeben haben.
    Danke schonmal
    Du könntest aber auch das Ergebnis, bevor du es der Textbox übergibst, auf Punkte überprüfen und diese dann durch nichts ersetzen.
    Guckst du hier.
    ~Programmieren Sie immer so, als wäre der Typ, der den Code pflegen muss, ein gewaltbereiter Psychopath, der weiß, wo Sie wohnen. ~

    Grüße
    Coder9292
    @Coder9292: Da das Ergebnis einer Berechnung eine Zahl (schlimmstenfalls eine Kommazahl) ist, enthält das Ergebnis keinen Punkt. Und damit sind auch keine Punkte entfernbar. Dass z.B. im englischsprachigen Raum ein 1000er-Punkte zum besseren Lesen eines Zahlentextes verwendet wird, ist ein anderes Thema. Da geht es um die textuelle Darstellung einer Zahl, aber nicht um die Zahl selbst.
    @niko1365: Gib uns mal bitte den Code, wie die TextBox ihren Ergebnistext erhält und von welchem Typ das Ergebnis ist, das Du dem TextBox-Text zuweist. Dann dürfte auch eine sinnvolle Antwort möglich sein.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.
    @VaporiZed: Genau ich bekomm den 1000er Punkt im Ergebnis. Habe meine Berechnungen im Quellcode hinterlegt und weise am Ende einfach mein Ergebnis der TextBox zu dabei habe ich die Variable als double hinterlegt und als Eigenschaft keine kommazahlen zugewiesen.
    D.h am ende steht TextBox9.Text = FormatNumber(Wgesoben, 0) Wgesoben ist dabei meine Variable für das Ergebnis.
    Bei nem mit Standardeinstellungen versehenem deutschen Windows reicht (zumindest bei mir) ein TextBox1.Text = Wgesoben.ToString, auch wenn in der Systemsteuerung bei Region -> weitere Einstellungen Zifferngruppierungen aktiviert sind.
    Bilder
    • NoDigitSeperation.png

      33,07 kB, 738×696, 13 mal angesehen
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.
    Eine Variante wäre mit einer benutzerdefinierten Zahlenformatzeichenfolgen.

    VB.NET-Quellcode

    1. TextBox9.Text = Wgesoben.ToString("### ### ### ### ###")

    Oder du definierst ein eigenes Tausendertrennzeichen.

    VB.NET-Quellcode

    1. Dim nfi As New Globalization.NumberFormatInfo With {.NumberGroupSeparator = " "c}
    2. TextBox9.Text = Wgesoben.ToString("N0", nfi)