我是 Windows 窗体的新手并尝试做一些事情。我正在使用 C#。
我使用的是 Windows 窗体,我在窗体上放置了八个文本框,并且都是带有十进制值的数字。
我喜欢实现以下结果。我的小数分隔符是逗号,千位分隔符是点。我见过像##.###,## 之类的东西,但不记得了....我怎样才能实现以下方法?
所以我的想法是,当我输入 1234 并将焦点从文本框中移开时,它应该格式化,当我再次回到文本框时,千位分隔符不应该只格式化小数分隔符。
我想我必须使用一些事件,比如 LostFocus。
输入 结果
1234 1.234,00
12.34 12,34
12,34 12,34
1234567 1.234.567,00
12,34 12,34
12345,67 12.345,67
在文本框中的 LostFocus 事件中,使用:
textBox1.Text = string.Format("{0:#,##0.00}", double.Parse(textBox1.Text));
在应用上述逻辑之前,请先确保文本是 double /整数,否则会引发异常。这个解决方案相当苛刻、强硬。
如果您希望格式采用特定文化而不是您当前计算机的文化,那么
textBox1.Text = string.Format(System.Globalization.CultureInfo.GetCultureInfo("id-ID"), "{0:#,##0.00}", double.Parse(textBox1.Text));
上面的例子是印尼货币格式,其中千位分隔符使用点(“.”)而不是逗号(“,”)。
我是一名优秀的程序员,十分优秀!