嗨所以我有数据表显示每个纸箱的最小库存,库存和数量。我想添加一个列来计算我们订购的CARTON数量。这是我的公式:
dt.Columns["QuantityOrder"].Expression = "(MinimumStock-Stock)/ QuantityPerCarton";
好吧,因为我想做以下例子:如果MinimumStock = 4,Stock = 1和QuantityPerCarton = 12.我想QuantityOrder = 1即使它是< 1和> 0。所以我试过这个:
dt.Columns["QuantityOrder"].Expression = Math.Ceiling("(MinimumStock-Stock)/ QuantityPerCarton");
但它有一个构建错误:
The best overloaded method match for 'System.Math.Ceiling(decimal)' has some invalid arguments
和
Argument 1: cannot convert from 'string' to 'decimal'
我该怎么办?这是一个数据表,用c#
编写更新:如果 int 将其四舍五入为0,则数据类型为 double 。
更新2 :股票从不超过最低股票,因为我用sql过滤了
答案 0 :(得分:-1)
您可以使用内联if运算符和模数函数%
来实现计算string exp = "IIF(Stock > MinimumStock, 0, ((MinimumStock - (MinimumStock-Stock % QuantityPerCarton))/QuantityPerCarton)+1)"
dt.Columns["QuantityOrder"].Expression = exp