C#格式为千分隔符
本文关键字:分隔符 格式 | 更新日期: 2023-09-27 18:24:16
我正在尝试将用户输入格式化为千分隔符格式。我试过这里的代码,但它不断破坏应用程序:
Amt.Text = String.Format("{0:0,0.00}", Convert.ToDouble(Amt));
因此,当用户输入3566412
时,它需要自动转换为3,566,412
您正试图将控件(名为Amt
)转换为double
,这是个坏主意,因为您想要转换控件(Amt.Text
)的文本。我建议使用decimal
,因为这更精确,不会导致浮点问题:
Amt.Text = String.Format("{0:0,0.00}", Convert.ToDecimal(Amt.Text));
另一件需要考虑的事情是使用一个可以屏蔽自己的控件,这样你就不需要每次都自己替换文本。
您可能想在MSDN 上查看标准数字格式字符串
然后你可以做一些类似的事情
Amt.Text = inputnumber.ToString("N");
将3566412格式化为3566412.0
如果你想直接从文本框中获取它,你可以这样做,在设置文本之前检查文本是否可以被解析
double result = 0;
if (double.TryParse(Amt.Text, out result)
{
Amt.Text = result.ToString("N");
}