在 Windows 窗体中,我有一个输入金额的文本框,例如我会输入 18369.25 然后按 Enter 键,文本框应格式化为:18 369,25
怎么做?
问问题
5514 次
2 回答
1
使用类似于以下的事件处理程序订阅文本框的 KeyPress 事件:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == '\r')
{
decimal value;
if (decimal.TryParse(
textBox1.Text,
NumberStyles.Any,
CultureInfo.InvariantCulture,
out value))
{
textBox1.Text = value.ToString(
"### ### ##0.00",
CultureInfo.InvariantCulture).TrimStart().Replace(".", ",");
}
}
}
于 2012-08-03T15:27:13.913 回答
0
我做了一些实验,但似乎没有一个有效。所以我提出了这个解决方案。我知道它不是最好的,但至少它可以工作(至少你需要的):
private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
string s = textBox1.Text;
if (s.Contains('.'))
{
string[] arr = s.Split('.');
decimal dec = decimal.Parse(arr[0]);
textBox1.Text = string.Format("{0},{1}", dec.ToString("## ###"), arr[1]);
}
}
}
如果您有任何其他要求,请告诉我。再见
于 2012-08-03T15:55:32.927 回答