我想修改应收的金额,然后,下面的折扣相应改变成平均折扣,且单价*折扣得到的会员金额的总和和应收,并且下面的金额数量加起来和应收的一致。就拿上面的图来说吧,比如我把应收改成28000,然后下面的折扣变成0.998,第一列的会员金额变成27664,第一列的会员金额变成336,    27664+336=2800.图片在http://zhidao.baidu.com/question/484963268.html?sort=6#reply-box-1216319793   里。 代码如下:                try
                        {
                            if (float.Parse(textBox1.Text.Trim().ToString()) > 0)
                            {
                 
                                label4.Text = textBox1.Text.Trim();
                                float summ = 0;
                                for (int i = 0; i < dataGridView1.RowCount; i++)
                                {
                                    summ += float.Parse(dataGridView1.Rows[i].Cells[8].Value.ToString());
                                }
                                float zhekou = float.Parse(textBox1.Text.Trim()) / summ;
                                double zhekou1 = Math.Round(zhekou, 4);
                                for (int i = 0; i < dataGridView1.RowCount; i++)
                                {
                                    dataGridView1.Rows[i].Cells[7].Value = zhekou1.ToString();
                                }
                                //dataGridView1.CurrentRow.Cells[7].Value = textBox1.Text;
                                textBox1.Focus();
                                textBox1.Text = "";
                                //-----------每种条码的总金额---------
                                float jine;
                                float jine1 = 0, jine2 = 0, jine3 = 0;
                                for (int i = 0; i < dataGridView1.RowCount; i++)
                                {
                              jine1 = float.Parse(dataGridView1.Rows[i].Cells[6].Value.ToString().Trim());
                              jine2 = float.Parse(dataGridView1.Rows[i].Cells[7].Value.ToString().Trim());
                              jine3 = float.Parse(dataGridView1.Rows[i].Cells[4].Value.ToString().Trim());
                              jine = jine2 * jine1 * jine3;
                              int quz = Convert.ToInt32(jine);
                              dataGridView1.Rows[i].Cells[9].Value = quz.ToString();
                              dataGridView1.Rows[i].Cells[8].Value = jine1 * jine3;
                                }                                //-------------显示商品信息------------                                label12.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString().Trim();
                                label13.Text = dataGridView1.CurrentRow.Cells[6].Value.ToString().Trim();
                                label14.Text = dataGridView1.CurrentRow.Cells[4].Value.ToString().Trim();
                                label15.Text = dataGridView1.CurrentRow.Cells[8].Value.ToString().Trim();
                                //-------显示买的产品总件数-------------
                                string l;
                                int b = 0;
                                for (int i = 0; i < dataGridView1.RowCount; i++)
                                {
                                    l = dataGridView1.Rows[i].Cells[4].Value.ToString().Trim();
                                    b += int.Parse(l);
                                }
                                label16.Text = b.ToString();
                                //----------------应付款--------
                                string p;
                                float c = 0;
                                for (int i = 0; i < dataGridView1.RowCount; i++)
                                {
                                    p = dataGridView1.Rows[i].Cells[9].Value.ToString().Trim();
                                    c += float.Parse(p);
                                }
                                if (float.Parse(label4.Text) < c)
                                {
        dataGridView1.Rows[0].Cells[9].Value = int.Parse(dataGridView1.Rows[0].Cells[9].Value.ToString()) - 1;
                                    c = 0;
                                    for (int i = 0; i < dataGridView1.RowCount; i++)
                                    {
                                        p = dataGridView1.Rows[i].Cells[9].Value.ToString().Trim();
                                        c += float.Parse(p);
                                    }                                }
                                int quzheng = Convert.ToInt32(c);
                                label4.Text = quzheng.ToString();
                                Shishou = c;//客人要交的钱数,public static类
                                //--------------------显示优惠金额--------------                                float Ydanjia, Youhui = 0, Yshuliang;
                                for (int i = 0; i < dataGridView1.RowCount; i++)
                                {
                             Ydanjia = float.Parse(dataGridView1.Rows[i].Cells[6].Value.ToString().Trim());
                             Yshuliang = float.Parse(dataGridView1.Rows[i].Cells[4].Value.ToString().Trim());
                             Youhui += Ydanjia * Yshuliang;
                                }
                                Youhui += -quzheng;
                                label17.Text = Youhui.ToString();
                                textBox1.Focus();
                                textBox1.Text = "";
                            }
                            else
                            {
                                textBox1.Focus();
                                textBox1.Text = "";
                                MessageBox.Show("输入的不是有效的数字,请重新输入。");
                            }                        }
                        catch
                        {
                            textBox1.Focus();
                            textBox1.Text = "";
                            MessageBox.Show("输入的不是有效值,请重新输入。");
                        }我这种写法,有时误差会有一块钱的误差,请高手帮忙看看。