1

自分の価値観をビューに表示したい

いいね: -$150.00

代わりに: ($150.00)

--

これが私がしなければならないことだと思います:

負の通貨を赤で表示するにはどうすればよいですか?

しかし、彼が「BaseController クラス」とは何を意味するのかわかりません。

4

2 に答える 2

4

それはすべてにかかっていNumberFormatInfo.CurrencyNegativePatternます。おそらく、1 が必要なように聞こえるときに、値 0 を取得したと思われます。

現在、ユーザーのCultureInfo、サーバーの 、またはその他のものを使用しているかどうかは明らかではありません。ただし、使用しているカルチャをいつでも複製してから、NumberFormatInfo.

サンプルコード:

using System;
using System.Globalization;

class Test
{
    static void Main()
    {
        var original = new CultureInfo("en-us");
        // Prints ($5.50)
        Console.WriteLine(string.Format(original, "{0:C}", -5.50m));

        var modified = (CultureInfo) original.Clone();
        modified.NumberFormat.CurrencyNegativePattern = 1;        
        // Prints -$5.50
        Console.WriteLine(string.Format(modified, "{0:C}", -5.50m));
    }
}
于 2013-09-27T19:50:17.490 に答える
4

@Jon Skeetの回答をこれとマージする

本当の答えは、このメソッドを MVC プロジェクトの Global.asax.cs ファイルに追加することでした。以上です。

重要なのは 2 行目です。

protected void Application_BeginRequest(object sender, EventArgs e)
        {

            CultureInfo culture = new CultureInfo("en-us");
            culture.NumberFormat.CurrencyNegativePattern = 1;    

            Thread.CurrentThread.CurrentUICulture = culture;
            Thread.CurrentThread.CurrentCulture = culture;
        }
于 2013-09-27T20:12:46.743 に答える