本帖最后由 bulls5988 于 2012-02-27 08:18:24 编辑

解决方案 »

  1.   

    笨办法:
    //水单金额算法
                if (c_sd_fee.Checked == true)\\如果使用水单抵值 
                {
                    if (l_sd_list.Items.Count == 0)\\如果listbox中值为空
                    {
                        MessageBox.Show("请输入水单信息", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        return;
                    }
                    else
                    {
                        foreach (string sd_items in l_sd_list.Items)
                        {
    if(sd_items.Contains("超市水单"))
    {
    CS_SUM = XXX
    }
    if(sd_items.Contains("百货水单"))
    {
    BH_SUM = XXX
    }
                            sd_all_money += Convert.ToInt32(sd_items.Substring(sd_items.IndexOf("消费金额:") + 5))//将所有消费金额后的值累加,求和
                        }
                     }
                 }
      

  2.   

    要把原来的总值求的和,分解成,超市水单求和 、百货水单求和 两个值,请问 你的XXX代表了什么啊?
      

  3.   

    if(sd_items.Contains("超市水单"))
    {
    CS_SUM += Convert.ToInt32(sd_items.Substring(sd_items.IndexOf("消费金额:") + 5))
    }
    if(sd_items.Contains("百货水单"))
    {
    BH_SUM += Convert.ToInt32(sd_items.Substring(sd_items.IndexOf("消费金额:") + 5))
    }
    sd_all_money += Convert.ToInt32(sd_items.Substring(sd_items.IndexOf("消费金额:") + 5))//
      

  4.   


    CS_SUM += Convert.ToInt32(sd_items.Substring(sd_items.IndexOf("消费金额:") + 5))
    现在提示我 "输入字符串的格式不正确!"
    是不是什么地方错了呀?
      

  5.   

    不好意思 我想问一下 从LISTBOX读取 按类型 求和是不是 不能实现 所以才必须显示 还后台计算分开? 
      

  6.   

    你用这个试试,估计你取金额的时候位数有问题。
    using System.Text.RegularExpressions;if(sd_items.Contains("超市水单"))
    {
    CS_SUM += Convert.ToInt32(Regex.Match(sd_items, @"[消费金额]*\d+").Value)
    }
    if(sd_items.Contains("百货水单"))
    {
    BH_SUM += Convert.ToInt32(Regex.Match(sd_items, @"[消费金额]*\d+").Value)
    }
    sd_all_money += Convert.ToInt32(Regex.Match(sd_items, @"[消费金额]*\d+").Value)//
      

  7.   

    正常的做法你应该把输入的数据保存到Class等结构体里的,根据数据来显示。
    比如
    Public Class 水单记录
    {
    public string 水单类型{get;set;};
    public string 交易号{get;set;};
    public int 水单金额{get;set;};
    public string 収银机号{get;set;};
    }List<水单记录> 水单列表;
    水单列表用来保存多条水单记录,这样以后求和之类的操作就很简单了,画面上面的内容只是显示用。