14Y*_*Boy 5 .net c# grouping digit
我们如何在C#中输入数字分组?我的代码可以工作但只适用于一个实例.我必须不断点击它来对计算器中的每个数字进行分组.我们如何对它进行分组,以便如果我们点击它,它会对每个数字(不仅仅是显示的数字)进行分组,如果我们取消选中该复选框,它就不会?
这是当前的代码:
NumberFormatInfo nFI = new CultureInfo("en-US", false).NumberFormat;
double int_value = Convert.ToDouble(textboxt1.text);
textbox1.Text = int_Value.ToString("N", nFI);
Run Code Online (Sandbox Code Playgroud)
听起来您在错误的位置调用了格式。除了单击复选框(即,每当您单击计算器按钮或其他textbox1.Text = int_Value.ToString("N", nFI);按钮时)之外,并且仅当您的复选框被选中时( ),您可能还想在您的值发生变化时调用它。它也可能应该在一个单独的函数中,在所有需要它的地方调用它。textboxt1.TextChangedif (checkbox1.Checked == true) textbox1.Text...
为清楚起见进行编辑
您可能遇到的问题是您有多个源正在更改textbox1. 您发布的代码很可能在某些checkbox_CheckChanged(sender, e)事件处理程序中。
您可能在其他地方也有代码(可能是计算器按钮或其他东西),它们会更改文本框中的值(例如......
double value = Convert.ToDouble(textbox.Text);
value = value + 1;
textbox1.Text = value.ToString();
Run Code Online (Sandbox Code Playgroud)
例如,在 +1 按钮中?)
你想要做的是有一个单独的displayValue(double value)函数,可以始终正确地格式化它,也许像......
private void SetDisplayValue(double value)
{
NumberFormatInfo nFI = new CultureInfo("en-US", false).NumberFormat
if (checkBox.Checked == true)
textbox1.Text = value.ToString("N", nFI);
else
textbox1.Text = value.ToString();
}
Run Code Online (Sandbox Code Playgroud)
以及您在代码中设置 textbox1.Text 的每个位置,无论它是在按钮中还是在 _CheckChanged 或其他什么中,都应调用该私有函数。