Вы можете проверить, как показано ниже справа,
Regex reg = new Regex("^[0-9]*(\\.[0-9]{1,2})?$");
if (reg.IsMatch(dataGridView1.Rows[0].Cells[3].Value.ToString()))
{
}
EDIT:
Я проверил приведенный ниже код для текстового поля, он работает нормально. Поместите значение строки datagridview вместо textbox.text в следующем коде.
Regex reg = new Regex("^[0-9]+\\.[0-9]{1,2}$");
Regex reg1 = new Regex("^[0-9]+\\.[0-9]{2}$");
if (reg.IsMatch(textBox1.Text.ToString()))
{
if (!reg1.IsMatch(textBox1.Text))
{
textBox1.Text += 0;
}
}
EDIT2:
В другом случае вы можете написать что-то вроде ниже
Regex reg = new Regex("^[0-9]+\\.[0-9]{1,2}$");
Regex reg1 = new Regex("^[0-9]+\\.[0-9]{2}$");
if (reg.IsMatch(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[0].Value.ToString()))
{
if (!reg1.IsMatch(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[0].Value.ToString()))
{
dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[0].Value += "0";
}
}
else
{
MessageBox.Show("Please, provide a valid value");
dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[0].Value = "";
return;
}