C# Wie kann ich die Null nach dem Komma darstellen

Horst1945

Cadet 4th Year
Registriert
Okt. 2014
Beiträge
106
Hallo,

ich habe da ein kleines Problem:

Wie kann ich, das eine 0 nach dem 1,10 in der Variable "public double zahl" angezeigt wird?

NullAnzeige.jpg

Hier der Code:

Code:
private void PreiBerechnen(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == (Char)Keys.Enter)
            {
                txtErgebnis.Text = myClass.berechnenX(Convert.ToString(txtZahl1.Text), Convert.ToString(txtZahl2.Text));
                berech1 = Convert.ToDouble(txtErgebnis.Text);
                berech1 = Math.Round(berech1, 2);
                txtZwSumme.Text = txtErgebnis.Text;
                MwSt1 = (berech1 / 100 ) * MwSt;

                MwSt1 = Math.Round(MwSt1, 2);
                MwStGesamt = Convert.ToString(MwSt1);
                txtMwst.Text = Convert.ToString(MwStGesamt);
                berech = berech1 + MwSt1;
                berech = Math.Round(berech, 2);
                Gesamt1 = Convert.ToString(berech);
                txtGsSumme.Text = Gesamt1;
            }
            
        }

Hat da jemand eine Idee?

Horst
 
Versuche einfach mal anstatt:
Code:
txtMwst.Text = Convert.ToString(MwStGesamt);

folgendes

Code:
txtMwst.Text = MwStGesamt.ToString("G2");

Das lässt sich auch auf die anderen Werte anwenden. Gibt es eigentlich einen Grund warum du Convert.ToString() benutzt und nicht deinWert.ToString()?
 
Hallo Horst,

ruf nicht Convert.ToString() auf, sondern txtMwst.Text = MwStGesamt.ToString("0,00");

siehe auch http://msdn.microsoft.com/en-us/library/0c899ak8.aspx

Einige Anmerkungen zu deinem Programm generell:

  1. Convert.ToString(txtZahl1.Text): Der Wert von txtZahl1.Text ist schon ein String, d.h. musst du nicht mehr konvertieren
  2. myClass.berechnenX(Convert.ToString(txtZahl1.Text), Convert.ToString(txtZahl2.Text));:
  3. Ich würde alle Methoden zumindest die öffentlichen groß schreiben, so wie auch: "private void PreiBerechnen(...)"
  4. berechnenX: Aus dem Namen kann man nicht ableiten, was die Methode macht: besser => BerechnePreis(...)
  5. berechnenX: eine Methode die etwas berechnet würde ich keine String Parameter übergeben, sondern double
  6. berechnenX: den Rückgabewert nicht in einer TextBox speichern sondern in einer Variable z.B.: double preis = ..... (für die Trennung zwischen UserInterface und Applikationslogik
  7. MwSt1 = (berech1 / 100 ) * MwSt: lokale Variablen klein schreiben z.B.: mwstErgebnis
  8. MwSt1 = (berech1 / 100 ) * MwSt: es reicht eine Variable: mwstErgebnis = Math.Round((berech1 / 100 ) * mwstSatz,2)
  9. VariablenNamen: Sprechende Variablennamen verwenden

Ich will dir nicht hier pingelig auf die Nerven gehen, aber ich, als Softwareentwickler ärgere mich jeden Tag, wenn ich die Codes
von anderen anpassen muss und die Funktion nicht aus dem Quellcode klar ersichtlich ist!

Lg mav
 
Danke für eure schnelle Hilfe, aber der Code vom

@Käsebrot txtMwst.Text = MwStGesamt.ToString("G2"); sowie der von @XmavX txtMwst.Text = MwStGesamt.ToString
("0,00"); hat nicht geklappt.

Ich habe jetzt folgenden Code verwendet:

txtMwst.Text = String.Format("{0:0.00}", MwSt1);

und das hat geklappt.

Nochmals Dankeschön

Horst
 
Zurück
Oben