我试图确保从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".
我假设我在这里遗漏了一些非常简单的东西.这是关于财产的吗?或者我是否错误地使用字符串格式方法?
而不是"C"放"{0:c}"
有关更多字符串格式问题请转到此处