/// <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" 和"瓶" 可以返回15
不是if。。。else可以解决的。
这个需要一个算法。
之前我就写了一个。
也就是找出一个最优的组合吧。
简单的思路就是顶一个一个数据结构,存储单位和单位对应的量,以及对应的价格。
就出现一个集合,存储的是所有的单位及价格的集合。
然后排序这个集合,包装量从大到小排序。
从最大的包装开始循环,因为大包装肯定单价低,你应该选单价低的购买,省钱。
如果购买量可以满足要求的量了,就停止循环。把选中的包装放在一个集合中。
可以采用策略模式。
这问题不难吧?