【问题标题】:Sum DataTable columns of type string对字符串类型的数据表列求和
【发布时间】:2009-04-02 04:25:22
【问题描述】:

如何计算字符串类型DataTable 中两行的总和?
就我而言,我无法更改列类型。
我试过这些:

1)

object objSum;    
objSum = dt.Compute("Sum(WeightRate)", "");     

2)

decimal total = (decimal)dt.Compute("SUM( [WeightRate] )", "");`   

但没有运气......

我的桌子:

计重车数
350.50 50
205.00 40

我需要结果

称重车号
555.50 90

【问题讨论】:

    标签: c#-2.0


    【解决方案1】:

    Compute 方法允许进行一些基本的类型转换:

    var sum = dt.Compute("Sum(Convert(WeightRate, 'System.Int32'))");
    

    请参阅DataColumn Expressions 上的 MSDN 帮助,了解有关您可以使用 Compute 方法调用做什么的更多信息。

    编辑重新阅读您的问题后,您可能希望转换为 System.Decimal 而不是 System.Int32,但希望您明白了。 ;-)

    【讨论】:

    • @Matt:很抱歉再次提出这个问题。在另一个问题(stackoverflow.com/questions/8928748/…)上,同样的事情没有奏效。您能否检查一下您的代码是否可以与上面粘贴的链接一起使用?谢谢!!
    • 先生,它不适合我。我在 vb.net Dt.Compute("Sum(Convert(deliveredqty,'System.Double'))")) 中尝试过编译时错误 Arugument of filter is missing 所以我像这样更改了 Dt.Compute("Sum(Convert(deliveredqty,'System.Double'))","")) 但它不起作用先生
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-08
    • 1970-01-01
    • 1970-01-01
    • 2022-08-15
    相关资源
    最近更新 更多