Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
表达式C#与数学。天花板_C#_.net_Datatable_Expression_Rounding - Fatal编程技术网

表达式C#与数学。天花板

表达式C#与数学。天花板,c#,.net,datatable,expression,rounding,C#,.net,Datatable,Expression,Rounding,嗨,所以我有一个数据表,其中显示最低库存,库存和每1箱数量。我想加一列,计算我们订了多少纸箱。这是我的公式: dt.Columns["QuantityOrder"].Expression = "(MinimumStock-Stock)/ QuantityPerCarton"; 因为我想做如下的例子:如果MinimumStock=4,Stock=1,QuantityPerCarton=12。我想要QuantityOrder=1,即使它是0。所以我试了一下: dt.Columns["Quanti

嗨,所以我有一个数据表,其中显示最低库存,库存和每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  

我该怎么办?这是一个数据表,用c编写#

更新:如果int四舍五入为0,则数据类型为double


更新2:库存将永远不会超过最低库存,因为我使用sql对其进行了过滤您可以使用内联if运算符和模函数实现计算%

string exp = "IIF(Stock > MinimumStock, 0, ((MinimumStock - (MinimumStock-Stock % QuantityPerCarton))/QuantityPerCarton)+1)"
dt.Columns["QuantityOrder"].Expression = exp

您正在尝试获取表达式字符串的上限,而不是在表达式中使用上限函数
(MinimumStock-Stock)/QuantityPerCarton“
是字符串,而不是表达式。因此我应该这样做?”Math.天花((MinimumStock-1)/QuantitéParCarton)你可以在表达式中使用的运算符列表在这里,但我看不到一种方法来做Ceiling哦,如果你真的可以这样做的话,我会将所有数据返回到一个对象列表中,然后您可以使用所有的.net数学函数stock将永远不会超过最小库存,因为我使用sqlwell对其进行了筛选,当我只想转到Ceiling时,这会很复杂抱歉,我误读了您的问题,认为这是我不太理解的(MinimumStock-(最小库存%QuantityPerCarton)/QuantityPerCarton)+1,因为它给我4.75
string exp = "IIF(Stock > MinimumStock, 0, ((MinimumStock - (MinimumStock-Stock % QuantityPerCarton))/QuantityPerCarton)+1)"
dt.Columns["QuantityOrder"].Expression = exp