Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将DataGridView单元格中的用户输入从点更改为逗号?_C#_Datagridview_User Input - Fatal编程技术网

C# 如何将DataGridView单元格中的用户输入从点更改为逗号?

C# 如何将DataGridView单元格中的用户输入从点更改为逗号?,c#,datagridview,user-input,C#,Datagridview,User Input,我非常感谢你的帮助 我有一个DataGridView,用户将给我们两倍(2,43等) 我想写一个函数,它可以检测用户是否将点替换为逗号,然后只需更改它本身或将其作为逗号进行计算 如果它是一个控制台应用程序,我只需要写一些 public void ChangeToComma() { var someUserInput; char arr[] = someUserInput.ToCharArray(); for (int i = 0, i < someUserInpu

我非常感谢你的帮助

我有一个DataGridView,用户将给我们两倍(2,43等)

我想写一个函数,它可以检测用户是否将点替换为逗号,然后只需更改它本身或将其作为逗号进行计算

如果它是一个控制台应用程序,我只需要写一些

public void ChangeToComma()
{
    var someUserInput;
    char arr[] = someUserInput.ToCharArray();

    for (int i = 0, i < someUserInput.Length; i++)
    {
        if (char[i] == ".")
        {
            char[i] = ",";
        }
    }
}
public void ChangeToComma()
{
var-someUserInput;
char arr[]=someUserInput.ToCharArray();
对于(inti=0,i
这就是我会使用的逻辑(可能不正确,但我只是想更好地展示我想做的事情)

我刚开始使用其他控制台应用程序,所以我被困在这里:/

我一点也不知道(怎么做)是:

  • 如何遍历指定DataGridView单元格中的每个字符
  • 如何避免更改此DataGridView每个单元格中的每个点?其中一些带有文本,因此可能包含点

  • 您可以使用系统中包含的replace方法替换点的逗号

    double value = double.Parse(dataGridViewTest.Rows[4].Cells[2].Value.ToString());
    dataGridViewTest
    .Rows[4]
    .Cells[2].Value = value.ToString("N2");
    
    “N2”作为字符串方法的参数,将值设置为十进制,末尾有两位数字


    您还可以在保存数据之前验证输入,以避免用户以错误的格式插入错误的信息。

    查看单元格失去输入焦点时发生的事件,启用内容验证。您是否可以将语言类型设置更改为“UK”,使3.141显示为“而不是3”,141@BugFinder我有一个波兰设置,所以事实上,如果它像这样工作,它本身就应该是这种方式,但它不是:(在波兰,我们默认使用逗号。@đnow@San不客气。另一方面,如果您使用该事件,您可以将其与快速正则表达式匹配结合起来,以验证用户的输入。