对字符串类型的数据表列求和

Posted

技术标签:

【中文标题】对字符串类型的数据表列求和【英文标题】: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

【问题讨论】:

【参考方案1】:

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

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

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

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

【讨论】:

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

以上是关于对字符串类型的数据表列求和的主要内容,如果未能解决你的问题,请参考以下文章

对集合多列进行求和方法的选择

按数据类型而不是来自 AJAX 的格式化字符串对 DataTables 中的列进行排序

Oracle字符类型与数值类型的转换

从命令行接收多个数字,求和输出结果

如何对不同列的值求和

mongodb3.4字符类型的字段求和