.NET 中的数字分组
C#中如何输入数字分组?我的代码有效,但仅适用于一个实例。我必须不断点击它才能对计算器中的每个数字进行分组。我们如何对其进行分组,以便如果我们单击它,它将对每个数字(而不仅仅是显示的数字)进行分组,而如果我们取消选中该复选框,则不会分组?
这是当前的代码:
NumberFormatInfo nFI = new CultureInfo("en-US", false).NumberFormat;
double int_value = Convert.ToDouble(textboxt1.text);
textbox1.Text = int_Value.ToString("N", nFI);
How do we input digit grouping in C#? My code works but only for one instance. I have to constantly click it to group every number in the calculator. How do we do group it so that if we click it, it groups every number (not only the number presented), and if we uncheck the checkbox, it doesn't?
This is the current code:
NumberFormatInfo nFI = new CultureInfo("en-US", false).NumberFormat;
double int_value = Convert.ToDouble(textboxt1.text);
textbox1.Text = int_Value.ToString("N", nFI);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
听起来您在错误的位置调用了格式。除了单击复选框(即,每当您单击计算器时),当您的值发生变化时,您可能还想调用
textbox1.Text = int_Value.ToString("N", nFI);
按钮或textboxt1.TextChanged
或其他),并且仅当您的复选框被选中时(if (checkbox1.Checked == true) textbox1.Text...
)。它也可能应该在一个单独的函数中,在所有需要它的地方调用它。为了清晰起见进行编辑
您可能遇到的问题是您有多个源正在更改
textbox1
中的显示。您发布的代码很可能位于某些checkbox_CheckChanged(sender, e)
事件处理程序中。您可能在其他地方也有代码(可能是计算器按钮或其他东西),它们会更改文本框中的值(例如...
在 +1 按钮中?)
您想要做的是有一个单独的
displayValue (double value)
函数将始终正确地格式化它,也许像...以及您在代码中设置 textbox1.Text 的每个位置,无论它是在按钮中还是在 _CheckChanged 中或无论如何,调用该私有函数即可。
Sounds like you're calling the formatting in the wrong place. You probably want to call that
textbox1.Text = int_Value.ToString("N", nFI);
when your value is changing in addition to when you click the checkbox (ie, whenever you click on your calculator buttons or ontextboxt1.TextChanged
or whatever), and only if your checkbox is checked (if (checkbox1.Checked == true) textbox1.Text...
). It should also probably be in a separate function, that's called in all the places it's needed.Edit for clarity
The problem you're likely having is that you have multiple sources that are changing the display in
textbox1
. The code you posted is most likely in somecheckbox_CheckChanged(sender, e)
event handler.You likely also have code elsewhere (maybe calculator buttons or something) that will change the value in your textbox (something like...
in a +1 button, for example?)
What you want to do is have a separate
displayValue(double value)
function that will format it correctly all the time, maybe something like...and every place that you would have set textbox1.Text in your code, regardless of whether it's in a button or a _CheckChanged or whatnot, instead call that private function.
好的,这就是代码:
using System;
使用 System.Collections.Generic;
使用 System.ComponentModel;
使用系统数据;
使用系统绘图;
使用系统文本;
使用 System.Windows.Forms;
使用系统全球化;
命名空间_3rdQuarterExam_ADLM
{
公共部分类 Form1 :表格
{
我们应该把它放在哪里?
Okay, so this is the code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Globalization;
namespace _3rdQuarterExam_ADLM
{
public partial class Form1 : Form
{
Where should we place it?