asp.net标记代码中的数字格式?

时间:2018-10-02 12:27:55

标签: c# asp.net

我几乎已经用所有方法在asp.net标记代码中格式化数字, 我使用了以下方式,但没有一种与我合作:

 <%# String.Format("{0:C}", Eval("Netprofit") ) %>
 <%# string.Format("{0:#,###}",  Eval("Netprofit").ToString()) %> ,
 <%# DataBinder.Eval(Container.DataItem, "Netprofit", "{0:#,###}") %> ,
 <%# string.Format((new System.Globalization.CultureInfo("en-US")).NumberFormat, "{0:#,###}", Eval("Assets","{0:#,###}").ToString()) %>
 <%# string.Format("{0:C2}",  Eval("Netprofit").ToString()) %> ,
 <%# DataBinder.Eval(Container.DataItem, "Netprofit", "{0:C2}") %> ,
 <%# string.Format((new System.Globalization.CultureInfo("en-US")).NumberFormat, "{0:C2}", Eval("Assets","{0:C2}").ToString()) %>

我需要输入数字的其他建议:(908934)看起来像:(908,934)

3 个答案:

答案 0 :(得分:1)

您需要的是“ en-US”文化中的“ N0”。

show

看看docs

  

1234.567(“ N”,美国)-> 1,234.57

答案 1 :(得分:0)

尝试这样的事情

asp:BoundField HeaderText =“您的标题” DataField =“某些数字” DataFormatString =“ {0:0,0.00}” //根据需要编辑格式

答案 2 :(得分:0)

我知道了,我必须先将字符串转换为Decimal,然后才能起作用:

<%# string.Format(new System.Globalization.CultureInfo("en-US"), "{0:N0}",  Convert.ToDecimal(Eval("Assets"))) %>

谢谢大家,我非常感谢您的帮助。