如何计算含双引号行的DataTable中LINES_DISPENSED_AMOUNT1列的总和
计算DataTable中LINES_DISPENSED_AMOUNT1列两行数据的总和
核心思路
先定位到DataTable中目标行(包含双引号的行),提取对应列的数值后求和。以下是C#环境下的实现方案:
方案1:筛选带双引号的行并取前两行求和
如果需要先过滤出包含双引号的行,再计算前两行的总和:
// 假设dt是你的目标DataTable var targetRows = dt.AsEnumerable() .Where(row => row["对应列名"].ToString().Contains("\"")) // 将"对应列名"替换为实际存双引号的列 .Take(2); decimal total = 0; foreach (var row in targetRows) { // 安全转换数值,避免格式错误抛出异常 if (decimal.TryParse(row["LINES_DISPENSED_AMOUNT1"].ToString(), out decimal amount)) { total += amount; } }
方案2:直接指定行索引求和
如果明确知道要计算的两行索引(比如第1行和第2行),可以直接取值相加:
// 假设要计算索引0和1的两行 decimal amount1 = decimal.Parse(dt.Rows[0]["LINES_DISPENSED_AMOUNT1"].ToString()); decimal amount2 = decimal.Parse(dt.Rows[1]["LINES_DISPENSED_AMOUNT1"].ToString()); decimal total = amount1 + amount2;
注意事项
- 优先使用
TryParse替代Parse,避免因列值格式问题导致程序崩溃 - 双引号仅存在于列的文本内容中时,不会影响数值的提取和计算
内容的提问来源于stack exchange,提问作者suhaas
相关产品推荐
相关产品推荐

