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?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Statt "C" put "{0:c}"
Weitere string-Formatierung Probleme gehen hier
Können Sie auch tempDollarAmount.ToString("C").
Werden muss, "{0:C}"
sollte es sein, "{0:C}"
Ja, es muss sein:
Sollte es sein:
Und verwenden Sie bitte nicht doppelt zu vertreten, currency, decimal statt.
Sollte es sein: