次の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を参照してください。これで、数値の書式設定が処理されました。赤に関しては、「ネガティブ」と呼ばれる新しい 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 を使用してスパン/div からクラスを単純に追加または削除できることです。問題のテキストをデフォルトまたは赤にします。