1

我想在除法后四舍五入列值:

 DataColumn maxSpend = new DataColumn();
    maxSpend.DataType = System.Type.GetType("System.Double");
    maxSpend.Expression = string.Format("{0:0.00} / price", this.maxSpend);

有可能以某种方式在列表达式中使用 Math.floor() 还是有其他解决方案?

4

1 回答 1

2

DataColumn-Expressions 中不允许使用 .NET 函数。最简单的方法是首先在 dbms 中执行此操作(如果您正在使用)。

例如在SQL-Server中:SELECT FLOOR(MaxSpend/Price)AS MaxSpend ....

另一种方法是循环通过 DataRows。例如:

foreach (DataRow row in tbl.Rows)
{
    double price    = row.Field<double>("price");
    row["maxSpend"] = Math.Floor(this.maxSpend / price);
}
于 2012-05-15T08:15:01.900 回答