【问题标题】:Separate number with comma for thousands asp.net用逗号分隔数以千计的 asp.net
【发布时间】:2015-07-22 19:12:20
【问题描述】:

你如何在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 是对数据库中表的引用(我循环遍历返回的每个对象并遍历行)

我把它放在我绑定到 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>

【问题讨论】:

  • 你能举出输入输出的例子吗?
  • 什么是row?是 DataTable 中的一行还是 GridView 中的一行?
  • 你想要一种货币吗? DataFormatString="{0:c}" 这将为您提供货币格式。
  • row["Applied_Amount_Varience_Sum"] = String.Format("{0:N2}", Convert.ToString(row["Applied_Amount_Varience_Sum"]));
  • row["Applied_Amount_Varience_Sum"] = String.Format("{0:c}", Convert.ToString(row["Applied_Amount_Varience_Sum"]));

标签: c# asp.net gridview


【解决方案1】:

如果您正在寻找货币用途

DataFormatString="{0:c}"

否则使用

DataFormatString="{0:N2}"

试试

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

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

【讨论】:

  • 我现在正在尝试这两行(两者都不会改变行,所以 1092.00 会变成 1092.00)
  • row["Applied_Amount_Varience_Sum"] = String.Format("{0:N2}", Convert.ToString(row["Applied_Amount_Varience_Sum"]));
  • row["Applied_Amount_Varience_Sum"] = String.Format("{0:c}", Convert.ToString(row["Applied_Amount_Varience_Sum"]));
  • 你有没有在你的前端aspx中尝试过这些??
  • 您的编辑在这一行给出“格式说明符无效”
【解决方案2】:
private string commaSeparateNumber(string value)
{
    return String.Format("{0:#,##0}", int.Parse(value));
}

为我工作。

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

【讨论】:

    猜你喜欢
    • 2019-03-22
    • 2019-03-17
    • 1970-01-01
    • 2013-05-09
    • 1970-01-01
    • 2017-08-23
    • 1970-01-01
    • 2013-04-15
    • 2011-07-24
    相关资源
    最近更新 更多