Runden auf Nachkommastellen

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Runden auf Nachkommastellen

    Hi Leute,

    ich weiß, diese Frage wurde schon oft gestellt, aber ich komm einfach nicht weiter.

    Ich möchte in einer Textbox ein Prozentergebnis auf 2 Nachkommastellen Runden.

    1. Textbox:
    Alter Wert

    2. Textbox
    Neuer Wert

    3. Textbox
    Ersparnis

    Die Ersparnis habe ich in Prozent errechnet. Das Ganze in einer 4.Textbox ausgegeben.

    VB.NET-Quellcode

    1. TH_Txt_Prozent.Text = CStr(100 * CDbl(TH_Txt_Ersparnis.Text) / CDbl(TH_Txt_Vorher.Text) & "%")


    Nur bekomme ich dann halt teilweise unendlich lange Zahlen heraus.

    Mit Math.Round oder ähnlichem bekomme ich Fehlermeldungen. Ich weiß, dass "der Code" scheusslich aussieht, aber mir geht es eig. nur darum, dass es funktioniert.
    Vielen Dank für euer Hilfe.

    Gruß
    TJ
    Das einfachste wäre anstelle der Textboxen ein NummericUpDown zu verwenden. Dem kann man sagen wieviele Nachkommestellen angezeigt werden.
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."

    TeeJay schrieb:

    2 Nachkommastellen Runden.
    Ergebnisse werden nicht gerundet, sondern deren Stringrepräsentation bei der Ausgabe:

    VB.NET-Quellcode

    1. Dim value = 1 / 3
    2. MessageBox.Show(value.ToString("n2")) ' "n3", "n5"

    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!
    Gut, davon habe ich keine Ahnung^^
    Wäre nett ein kleines Code-Beispiel mit Erläuterung zu sehen. Natürlich nur, wenn es keine Umstände macht.
    Bin ein absoluter Anfänger, was Vb angeht.

    Auf meine Art und Weise, gibt es da keine funktionierende Methode? Sei es auch noch so umständlich...

    LG

    EDIT:
    @RodFromGermany
    Wie müsste ich das auf meine "Codezeile" anpassen? Damit ich meine Werte erreiche?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „TeeJay“ ()

    TeeJay schrieb:

    meine "Codezeile"

    Mein value durch Deinen Wert ersetzen. ;)

    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!