【发布时间】:2013-01-25 00:38:16
【问题描述】:
我必须在当前 Windows 设置中检测小数点分隔符。我使用的是 Visual Studio 2010,Windows 窗体。特别是,如果 DecimalSeparator 是逗号,如果用户在 textbox1 中输入点,我需要在 textbox2 中显示零。
我尝试使用此代码,但不起作用:
private void tbxDaConvertire_KeyPress(object sender, KeyPressEventArgs e)
{
string uiSep = CultureInfo.CurrentUICulture.NumberFormat.NumberDecimalSeparator;
if (uiSep.Equals(","))
{
while (e.KeyChar == (char)46)
{
tbxConvertito.Text = "0";
}
}
}
我也尝试过这段代码,但不起作用:
private void tbxDaConvertire_KeyPress(object sender, KeyPressEventArgs e)
{
string uiSep = CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator;
if (uiSep.Equals(","))
{
if (e.KeyChar == (char)46)
{
tbxConvertito.Text = "0";
}
}
}
【问题讨论】:
-
“但不起作用”并没有告诉我们出了什么问题。
-
由于我们无法从这里读懂您的想法或看到您的屏幕,如果您能解释一下“不工作”的含义,那将非常有用。
-
Vincenzolopalo,对于初学者来说,你不需要一个 while 循环,你需要更好地解释你想要什么......你是说你不想允许“,”也在检查
==vs.Equals你应该知道什么时候在比较对象时通常使用一个,.Equals会起作用.. 无论哪种方式.. 你当前的逻辑有缺陷,为什么不使用蒙面编辑..? -
要解决您的问题,只需使用MaskedTextBox
<==click here了解更多信息 -
这个数字是有意义的,它告诉我 1500.00 你想代表货币..?你也可以解决这个问题
标签: c# globalization