1

次のhtmlコードがあります...

<%=String.Format("{0:C0}", item.currency)%>

通貨形式が必要ですが、ネガがこのように表示されています...

($2,345)

フォーマットは赤でお願いします。トグル変数を設定できますが、もっと簡単な方法はありますか?

4

1 に答える 1

1

私のプロジェクトでは、同じことをしたかったのですが、負の値を括弧ではなく「-$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 からクラスを単純に追加または削除できることです。問題のテキストをデフォルトまたは赤にします。

于 2012-07-13T14:58:24.963 に答える