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

.NET 関数は DataColumn-Expressions では許可されていません。最も簡単なのは、最初に dbms で実行することです (使用している場合)。

たとえば、SQL-Server の場合: SELECT FLOOR(MaxSpend/Price)AS MaxSpend ....

もう 1 つの方法は、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 に答える