我想在除法后向下舍入列值:
DataColumn maxSpend = new DataColumn();
maxSpend.DataType = System.Type.GetType("System.Double");
maxSpend.Expression = string.Format("{0:0.00} / price", this.maxSpend);
可以以某种方式在列表达式中使用 Math.floor() 或者还有其他解决方案吗?
DataColumn-Expressions中不允许使用.NET函数。最简单的方法是首先在 dbms 中执行此操作(如果您正在使用任何)。
例如,在 SQL-Server 中:SELECT FLOOR(MaxSpend/Price)AS MaxSpend ...
.
另一种方法是遍历数据行。例如:
foreach (DataRow row in tbl.Rows)
{
double price = row.Field<double>("price");
row["maxSpend"] = Math.Floor(this.maxSpend / price);
}