在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");


行是对数据库中表的引用(我正在遍历返回的每个对象并遍历行)

我将其放置在绑定到gridview的位置。所以基本上我在绑定之前就更改了这些属性以使其具有逗号,但它没有这样做

我尝试过的线会改变这一点

1092.00


对此

1092


但我正在努力实现这一目标

1,092


*编辑*

这在模板字段中(因为我需要它作为与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>

最佳答案

如果您正在寻找货币用途

DataFormatString="{0:c}"


否则使用

DataFormatString="{0:N2}"


尝试

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


要么

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

10-07 21:27