You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GridView数字加千分位后求和失效,Replace去逗号无效求助

解决GridView千分位格式值合计加法问题
  • 先排查你的Replace失效原因:

    • 检查要处理的字符串里的逗号是半角(,)还是全角(,),如果是全角,你的Replace(",","")自然没用,得改成Replace(",","");
    • 确认你有没有把Replace后的结果赋值给变量——很多人会犯这个错:只写originalValue.Replace(",", "")但没把返回值存到新变量里,正确写法是string cleaned = originalValue.Replace(",", "");
  • 更稳妥的做法是直接解析带千分位的字符串为数值类型,不用手动替换:
    用TryParse指定支持千分位的格式,这样不管格式里的细节,直接转成可计算的数值:

    string cellValue = yourGridView.Rows[rowIndex].Cells[totalColumnIndex].Text;
    decimal num;
    // 用InvariantCulture确保千分位解析规则一致
    if (decimal.TryParse(cellValue, NumberStyles.AllowThousands | NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out num))
    {
        totalAmount += num;
    }
    
  • 从根源避免这个问题的建议:
    把显示格式和计算用数值分开——GridView单元格显示时用千分位格式化,但计算时直接从数据源(比如DataTable的行、绑定的实体对象)里取原始的数值类型(decimal/int),而不是从单元格的文本里扒字符串。比如绑定的时候:

    <asp:BoundField DataField="Amount" DataFormatString="{0:N}" HtmlEncode="False" />
    

    计算时直接取((DataRowView)gridViewRow.DataItem)["Amount"]转成decimal,完全不用处理字符串。

内容的提问来源于stack exchange,提问作者اینترنت آریانا

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 05:27:18