Как из array убрать NaN и поставить 0?

Рейтинг: 0Ответов: 2Опубликовано: 29.03.2023

У меня есть datagridview на форме и массив который заполнен рандомными числами, с массива заполняется datagridview ,но некоторые строки отображаются как NaN. У массива и datagridview - тип float , подскажите пожалуйста, как убрать NaN из столбцов и поставить за место NaN - 0?

Ответы

▲ 3Принят

Для проверки на NaN можно использовать метод Single.IsNaN() или сравнение с самим собой:

if (Single.IsNaN(array[i])) {
  array[i] = 0;
}

if (array[i] != array[i]) {
  array[i] = 0;
}
▲ 0

Вдруг кому-то когда-то понадобится:

string s = grid1.Rows[m].Cells[n].Value.ToString(); //переводим датагрид в строку чтоб избавиться от нана
                
string s1 = s.Replace(("не число"), "0");//меняем нан на 0

array2[m, n] =int.Parse(s1); //переводим нашу строку в инт