【发布时间】:2015-09-07 05:57:10
【问题描述】:
在我使用的 GridView ItemTemplate 中,我在 SQL Server 表中有货币类型的 Salary 字段:
<asp:TemplateColumn ItemStyle-CssClass="Text">
<HeaderTemplate>Basic Salary</HeaderTemplate>
<ItemTemplate>
<%# DataBinder.Eval(Container, "DataItem.BasicSalary", "{0:0,0}")%>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
</asp:TemplateColumn>
但它只显示:6500000.0000 而我想要的是:6,500,000。那么怎么办呢?请帮忙! 如果我使用这个功能:
protected string Format_Number(string Number)
{
Number = Number.Replace(".", "");
Number = Number.Replace(",", "");
var tmp = "";
while (Number.Length > 3)
{
tmp = "." + Number.Substring(Number.Length - 3) + tmp;
Number = Number.Substring(0, Number.Length - 3);
}
tmp = Number + tmp;
return tmp;
}
然后在 ItemTemplate 中:
<ItemTemplate>
<asp:label ID="lblSalary"
runat="server"
Text='<%# Format_Number(DataBinder.Eval(Container.DataItem, "Salary").ToString()) %>'>
</asp:label>
输出是: 6.500.000.000 我想删掉最后 3 位数字。怎么办?
【问题讨论】:
-
您的格式是正确的,我猜您的数据绑定是字符串类型有什么问题。这就是您的格式不起作用的原因。
标签: c# asp.net sql-server gridview currency