用逗号分隔千位 asp.net

Separate number with comma for thousands asp.net

如何在 asp.net gridview(后面有 c#)

上用逗号分隔每千个数字

我一直在后端尝试以下几行(单独)(没有任何效果,他们只是切断了小数位)

row["Applied_Amount_Varience_Sum"] = string.Format("{0:#,###0}", Convert.ToDecimal(row["Applied_Amount_Varience_Sum"]));
row["Applied_Amount_Varience_Sum"] = Convert.ToDecimal(row["Applied_Amount_Varience_Sum"]).ToString("#,##0.00"); 
row["Applied_Amount_Varience_Sum"] = String.Format("{0:n}", Convert.ToDecimal(row["Applied_Amount_Varience_Sum"]));
row["Applied_Amount_Varience_Sum"] = Convert.ToDecimal(row["Applied_Amount_Varience_Sum"]).ToString("N0");

row 是对数据库中 table 的引用(我循环遍历返回的每个对象并遍历行)

我把它放在我绑定到 gridview 的地方。所以基本上我在它绑定之前我将这些属性更改为有一个逗号但它没有这样做

我试过的行会改变这个

1092.00

到这个

1092

但我正在努力实现这一点

1,092

* 编辑 *

这是在模板字段中(因为我需要它是一个 link 具有 onclick 功能

<asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderText="Applied Amount Variance">
  <ItemTemplate>
    <asp:LinkButton ID="LbPath" runat="server" 
                    Text='<%# Eval("Applied_Amount_Varience_Sum") %>'
                    CommandName="BindExpand" 
                    OnCommand="BindExpand"
                    CommandArgument='<%#Bind("Applied_Amount_Varience_Sum") %>'>
    </asp:LinkButton>
  </ItemTemplate>
</asp:TemplateField>
private string commaSeparateNumber(string value)
{
    return String.Format("{0:#,##0}", int.Parse(value));
}

适合我。

在你的第一行“{0:#,###0}”中,删除一个#

如果您正在寻找货币使用

DataFormatString="{0:c}"

否则使用

DataFormatString="{0:N2}"

尝试

    Text='<%# Eval("Applied_Amount_Varience_Sum","{0:c}") %>'

    Text='<%# Eval("Applied_Amount_Varience_Sum","{0:N2}") %>'