int = integer = tamsayı demek. Tam sayı bir değişkene ondalıklı bir değer atamak isterseniz tabiki hata verir. Dediğim gibi double olarak değiştirin değişken türlerini.
Sizin için düzenledim buyrun;
int firstprice = Convert.ToInt32(firstpriceTxt.Text);
int secondprice = Convert.ToInt32(secondpriceTxt.Text);
Random random = new Random();
double rndprice = 0;
rndprice = random.Next(firstprice, secondprice);
double kdv = (rndprice * 18) / 100;
double liter = rndprice / Convert.ToDouble(literTxt.Text);
int sum = 0;
for (int x = 0; x < dataGridView1.Rows.Count; ++x)
{
sum += Convert.ToInt32(dataGridView1.Rows[x].Cells[0].Value);
}
int total = Convert.ToInt32(totalTxt.Text);
if (sum >= total)
{
timer1.Stop();
}
else
{
this.dataGridView1.Rows.Add(rndprice, kdv, liter);
}