我正在尝试确保从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";
}
}
}
结果:
我认为我在这里缺少一些非常简单的东西。这是关于财产的吗?或者我是否错误地使用字符串格式方法?
答案 0 :(得分:13)
而不是“C”放“{0:c}”
有关更多字符串格式问题,请转到here
答案 1 :(得分:4)
您也可以使用tempDollarAmount.ToString(“C”)。
答案 2 :(得分:1)
需要“{0:C}”
答案 3 :(得分:1)
它应该是“{0:C}”
答案 4 :(得分:1)
是的,它应该是:
base.Text = string.Format("{0:C}", tempDollarAmount);
答案 5 :(得分:1)
应该是:
base.Text = string.Format("{0:C}", tempDollarAmount);
请不要使用double来代表货币,而是使用小数。
答案 6 :(得分:-1)
应该是:
Console.WriteLine("The value 99999 in various Format");
String s = "$";
String s1=s.Replace(s,"RS");
String s2 = String.Format("{0:c}", s1);
String s3="1000";
Console.WriteLine(s2 + s3);