Как изменить пользовательский ввод в ячейке DataGridView из точки в запятую? - PullRequest
1 голос
/ 24 октября 2019

Буду очень признателен за вашу помощь.

У меня есть 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] = ",";
        }
    }
}

было бы логикой, которую я бы использовал (возможно, не правильно, но я просто хотел лучше показать, что я хочу делать).

Я только начинаю с других приложений, кроме консольных, поэтому я застрял здесь: /

Что я даже не имею ни малейшего представления (как это сделать):

  1. Как пройти каждый отдельный символ в указанной ячейке DataGridView?
  2. Как избежать изменения каждой точки в каждой ячейке этого DataGridView? Некоторые из них с текстом, поэтому они могут содержать точки.

1 Ответ

0 голосов
/ 24 октября 2019

Вы можете сделать это, заменив запятую для точки, используя метод замены, содержащийся в системе.

double value = double.Parse(dataGridViewTest.Rows[4].Cells[2].Value.ToString());
dataGridViewTest
.Rows[4]
.Cells[2].Value = value.ToString("N2");

"N2" в качестве параметра для метода для строки установит значение как десятичное с двумя цифрами вконец.

Вы также можете проверить ввод перед сохранением данных, чтобы пользователи не могли неправильно ввести информацию в неправильном формате.

...