首页 新闻 会员 周边

根据选择的单位,数量,返回对应的价格

0
悬赏园豆:10 [待解决问题]

/// <summary>
    /// 根据选择的单位,数量,返回对应的价格
    /// </summary>
    /// <param name="products_unitprice">产品单位价格</param>
    /// <param name="products_numunitrate">产品单位关系</param>
    /// <param name="unitmethod">购买单位</param>
    /// <param name="salecount">购买数量</param>
    /// <returns></returns>
    public decimal UnitPrice(string products_unitprice, string products_numunitrate, string unitmethod, int salecount)
    {

}

例如:UnitPrice("箱_60|瓶_15|盒_8", "箱_1|瓶_6.00|盒_12.00", "瓶", 10); 当前购买的是10瓶,满足大单位一箱了,所有价格需要按箱的价格来计算每瓶的价格,最终返回每瓶价格。。。

问题补充: 箱_60|瓶_15|盒_8 这个是价格 产品单位关系 "箱_1|瓶_6.00|盒_12.00" 输入的是10瓶要自动去判断能不能满足箱的条件,可以的话就换算成箱,然后按箱的价格乘以比例 再除以购买的瓶数,就是当前每瓶价格
囧嗿″翫▓的主页 囧嗿″翫▓ | 初学一级 | 园豆:118
提问于:2011-04-08 16:21
< >
分享
所有回答(4)
0

没看懂哎

不过先要定义一个方法  输入"箱_60|瓶_15|盒_8" 和"瓶" 可以返回15

死白的man | 园豆:2135 (老鸟四级) | 2011-04-08 16:51
输入"箱_60|瓶_15|盒_8" 和"瓶" 可以返回15 这个是价格,需要输入瓶 取对应的价格的话这个可以的,但是解决不了根本问题
支持(0) 反对(0) 囧嗿″翫▓ | 园豆:118 (初学一级) | 2011-04-08 17:01
不是很能理解 用几个if不能解决吗?
支持(0) 反对(0) 死白的man | 园豆:2135 (老鸟四级) | 2011-04-08 17:15
@死白的man:箱_1|瓶_6.00|盒_12.00 这个关系级数是未知的。。。。
支持(0) 反对(0) 囧嗿″翫▓ | 园豆:118 (初学一级) | 2011-04-08 17:41
0

不是if。。。else可以解决的。

这个需要一个算法。

之前我就写了一个。

也就是找出一个最优的组合吧。

简单的思路就是顶一个一个数据结构,存储单位和单位对应的量,以及对应的价格。

就出现一个集合,存储的是所有的单位及价格的集合。

然后排序这个集合,包装量从大到小排序。

从最大的包装开始循环,因为大包装肯定单价低,你应该选单价低的购买,省钱。

如果购买量可以满足要求的量了,就停止循环。把选中的包装放在一个集合中。

Virus-BeautyCode | 园豆:1619 (小虾三级) | 2011-04-08 18:32
那这边有个问题,单位数量关系不一样 例如:1箱=6瓶=12盒,我现在是买7瓶。这样怎么处理?
支持(0) 反对(0) 囧嗿″翫▓ | 园豆:118 (初学一级) | 2011-04-11 09:45
0

可以采用策略模式。

邢同举 | 园豆:220 (菜鸟二级) | 2011-04-08 18:52
0

这问题不难吧?

.NET快速开发框架 | 园豆:946 (小虾三级) | 2011-04-08 22:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册