Sucede que estamos escribiendo un valor decimal en un datagridview usando el teclado numérico para mayor velocidad, pero al escribir el punto, en lugar de separar posiciones decimales, lo deja como entero:
Para evitar esto se debe especificar la propiedad FormatProvider de la columna respectiva. Ejemplo:
MyDataGridView.Columns["Unidades"].DefaultCellStyle.FormatProvider = new CultureInfo("en-GB");
Luego de agregar la propiedad ya funcionará bien el punto en el teclado numérico:
De esta forma ya resolvemos el problema.
English:
To prevent the numpad dot (.) key to produce int number instead of decimal number, we must add the property FormatProvider for each column as is in the code above.