2

假设我的 aspx 页面中有这个标签:

<asp:Label ID="savings" runat="server" Text='<%# Eval("savings")%>' />

有没有办法将标签的文本格式化为货币格式的字符串?我正在寻找这样的东西:

<asp:Label ID="savings" runat="server" Text='<%# Eval("savings").ToString("C")%>' />

当我运行它时,我得到:

 No overload for method 'ToString' takes 1 arguments

编译错误。

我知道我可以在我的代码隐藏中轻松地做到这一点,但我想知道它是否可以从 .aspx 文档中实现。

4

4 回答 4

9

试试这个代码:

<asp:Label ID="savings" runat="server" Text='<%# string.Format("{0:C}", Eval("savings"))%>' />
于 2012-07-20T15:52:56.653 回答
2

如果您正在处理字符串,请尝试此代码

<asp:Label ID="savings" runat="server" Text='<%# String.Format("{0:c}", Convert.ToDecimal(Eval("savings")))%>' />
于 2014-09-24T09:36:36.550 回答
1

ToString(string)方法仅对数值类型进行操作,但Eval(string)返回object.

在调用扩展方法之前将结果转换为正确的类型,如下所示:

<%# ((decimal)Eval("savings")).ToString("C") %>

于 2012-07-20T15:52:00.523 回答
0

晚了..但有用

任何寻找印度货币格式或任何其他货币的人都可以使用 CultureInfo 类。例子:

(YourData).ToString("C2",CultureInfo.CreateSpecificCulture("in-IN"));

我建议您将尝试格式化的数据转换为十进制以跳过任何开销,还请查看页面以获取更多文化组合和更多关于格式化的信息。

于 2017-12-17T06:58:07.937 回答