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);
			}
  