利用BoundField.DataFormatString 属性,实现起来比较简单,不过要注意的是,必须和HtmlEncode="False"联合起来用,否则DataFormatString 不起作用
例1:
<asp:BoundField DataField="Total" HeaderText="Total" DataFormatString="{0:n2}" HtmlEncode="False" />
例2: 使用模版
<asp:textbox id="TextBoxPrice" text='<%# Bind("Price", "{0:c}") %>' runat="server"/>
string aa = money.ToString("#,##0");
string s=i.ToString("###,###.00");
String.Format("{0:N}", i )
string.Format("{0:#,#}",Convert.ToInt32(GetBoundData("Price")));
GetBoundData("Price").ToString("N2");
形式 | 语法 | 结果 | 注释 |
数字 | {0:N2} | 12.36 | |
数字 | {0:N0} | 13 | |
货币 | {0:c2} | $12.36 | |
货币 | {0:c4} | $12.3656 | |
货币 | "¥{0:N2}" | ¥12.36 | |
科学计数法 | {0:E3} | 1.23E+001 | |
百分数 | {0:P} | 12.25% | P and p present the same. |
日期 | {0:D} | 2006年11月25日 | |
日期 | {0:d} | 2006-11-25 | |
日期 | {0:f} | 2006年11月25日 10:30 | |
日期 | {0:F} | 2006年11月25日 10:30:00 | |
日期 | {0:s} | 2006-11-26 10:30:00 | |
时间 | {0:T} | 10:30:00 |