Actually, Your Grid is efficient, it rounds off 111,2188 to 111,22. if you want to see the exact value, increase the column width or tell the grid the level of precision.
If you don't need that much precision use ToString("F")
private void calculate_gv_row_total(int row_index) {
float total = 0;
for (int j = 0; start_index + j < start_index + months; j++)
{
float f = float.Parse(gv.GetDataRow(row_index)[start_index + j].ToString("F"));
total = total + f;
}
gv.GetDataRow(row_index)[total_cell_index] = total;
}