2009-06-15 9 views
1

Ich brauche Hilfe bei der Anzeige eines Dezimalwerts auf einem Windows Form.Anzeigen eines Dezimalwerts in einem Windows-Formular

Ich habe eine Klasse mit einer Methode zur Berechnung einer Zinsbetrag, unten aufgeführt.

In meinem Hauptformular verwende ich diese Methode, wenn auf eine Schaltfläche geklickt wird, unten aufgeführt.

private void btnCalcInt_Click(object sender, EventArgs e) 
{ 
    decimal endBalance; 
    decimal intRate; 
    decimal getIntGained; 

    endBalance = Convert.ToDecimal(lblSaveEndingBalance.Text); 
    intRate = Convert.ToDecimal(lblSaveIntRate.Text); 
    SavingsAccount CalcInt = new SavingsAccount(endBalance, intRate); 

    getIntGained = CalcInt.CalculateInterest(); 
    lblSaveInterest.Text = getIntGained.ToString(); 
} 

In der letzten Zeile (lblSaveInterest.Text = getIntGained.ToString();), wie kann ich feststellen, es nur zwei Positionen nach der Dezimalstelle angezeigt werden?

Oder kann jemand mit diesem Szenario helfen? Auf meinem Windows-Formular habe ich ein Textfeld, das ein Prozent darstellt. Zurzeit könnte der Benutzer einen Wert von 2 oder .02 eingeben. Wie kann ich das nur für alle .02 codieren? Auf diese Weise konnte ich dann die Methode in meiner Klasse ändern und entfernen Sie die Teilung von 100.

Antwort

1

Versuchen Decimal.Round():

lblSaveInterest.Text = Decimal.Round(getIntGained,2).ToString(); 
5

Für den ersten Teil, können Sie entweder das:

lblSaveInterest.Text = getIntGained.ToString("#,###.00"); 

Oder diese:

lblSaveInterest.Text = getIntGained.ToString("G"); 

EDIT: Für den zweiten Teil können Sie eine Prüfregel für das Textfeld hinzufügen, um eine Meldung anzuzeigen, wenn die Zahl größer als 1,0 (100%) ist, wenn das Textfeld den Fokus verliert.

Verwandte Themen