string.Format "C" (Währung) Rückgabe der string "C" anstelle von formatiertem text

Ich versuche, um sicherzustellen, dass der text im Steuerelement abgeleitet von TextBox wird immer als Währung formatiert.

Habe ich überschrieben mit der Text-Eigenschaft wie in diesem.

   public override string Text
    {
        get
        {
            return base.Text;
        }
        set
        {                
            double tempDollarAmount = 0;
            string tempVal = value.Replace("$", "").Replace(",","");
            if (double.TryParse(tempVal, out tempDollarAmount))
            {
                base.Text = string.Format("C", tempDollarAmount);
            }
            else
            {                 
                base.Text = "$0.00";
            }                
        }
    }

Ergebnisse:

  • Wenn ich übergeben Sie den Wert "Text"
    (AmountControl.Text = "Text";) , die
    text des Steuerelements auf meiner test-Seite
    ist "$0.00", wie erwartet.
  • Wenn ich übergeben Sie den Wert 7
    (AmountControl.Text = "7";) , Ich
    erwarten Sie, um zu sehen, "$7.00", aber der text
    die Steuerung auf meiner test-Seite gesetzt ist
    zu "C".

Ich gehe davon aus, dass mir etwas fehlt hierbei sehr einfach. Ist es etwas, über das Eigentum? Oder bin ich mit dem string-format-Methode falsch?

InformationsquelleAutor NetHawk | 2009-01-27
Schreibe einen Kommentar