带有Math.Ceiling的表达式C#
本文关键字:表达式 Ceiling Math 带有 | 更新日期: 2024-10-22 23:44:07
嗨,我有一个数据表,其中显示了每1纸箱的最低库存、库存和数量。我想添加一列,计算我们订购了多少纸箱。这是我的公式:
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#编写的数据表
Update:如果int将数据类型四舍五入为0,则数据类型为double。
更新2:库存将永远不会超过最低库存,因为我用sql 过滤了它
您可以使用内联if运算符和模函数%来实现计算
string exp = "IIF(Stock > MinimumStock, 0, ((MinimumStock - (MinimumStock-Stock % QuantityPerCarton))/QuantityPerCarton)+1)"
dt.Columns["QuantityOrder"].Expression = exp