我有以下html代码...
<%=String.Format("{0:C0}", item.currency)%>
我需要货币格式,但我的负面显示是这样的......
($2,345)
我希望格式为红色。我可以设置一个切换变量,但有没有更简单的方法?
我有以下html代码...
<%=String.Format("{0:C0}", item.currency)%>
我需要货币格式,但我的负面显示是这样的......
($2,345)
我希望格式为红色。我可以设置一个切换变量,但有没有更简单的方法?
在我的项目中,我想做同样的事情,但也将负值显示为“-$2345”而不是括号。
为了处理格式,我首先将以下内容添加到我的 BaseController 类(顾名思义,它是我所有控制器的基类):
protected override void Initialize(System.Web.Routing.RequestContext requestContext)
{
base.Initialize(requestContext);
System.Globalization.CultureInfo modCulture = new System.Globalization.CultureInfo("en-US");
modCulture.NumberFormat.CurrencyNegativePattern = 1;
Thread.CurrentThread.CurrentCulture = modCulture;
}
请参阅http://msdn.microsoft.com/en-us/library/system.globalization.numberformatinfo.currencynegativepattern.aspx。这处理了数字的格式。至于红色,我添加了一个名为“negative”的新css类:
.negative
{
color: Red;
}
然后在我的 .aspx 文件中:
<% if (item.currency < 0.0M)
{ %>
<span class="negative"><%=String.Format("{0:C}", item.currency)%></span>
<% }
else
{ %>
<span><%=String.Format("{0:C}", item.currency)%></span>
<% } %>
将其放入 css 类的好处是,对于动态站点,如果它稍后变为正数(反之亦然,如果正值变为负数),我可以使用 jQuery 简单地从 span/div 添加或删除该类有问题并将文本设置为默认或红色。