我试图确保从TextBox派生的文本始终格式化为货币。string.Format“C”(currency)正在返回字符串“C”而不是格式化文本
我已经重写了像这样的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";
}
}
}
结果:
- 如果我传递值 “文本” (AmountControl.Text = “文本”),我的测试页 在控制的 文本设置为“ $ 0.00“,如预期。
- 如果我通过了价值7 (AmountControl.Text =“7”),我 希望看到“$ 7.00”,但我的测试页上的控件的文本 设置 为“C”。
我认为我错过了这里很简单的东西。这是关于财产的东西吗?或者我错误地使用了字符串格式方法?
感谢。我将其标记为答案,因为你是第一个。感谢您的链接。 – NetHawk 2009-01-27 16:27:55