我试图确保从 TextBox 派生的控件中的文本始终格式化为货币。
我已经像这样覆盖了 Text 属性。
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";
}
}
}
结果:
- 如果我传递值 "Text" (AmountControl.Text = "Text";) ,我的测试页面上的控件文本将按预期设置为 "$0.00"。
- 如果我传递值 7 (AmountControl.Text = "7";) ,我希望看到 "$7.00",但我的测试页上的控件文本设置为 "C"。
我假设我在这里遗漏了一些非常简单的东西。是关于财产的吗?还是我错误地使用了字符串格式方法?