自分の価値観をビューに表示したい
いいね: -$150.00
代わりに: ($150.00)
--
これが私がしなければならないことだと思います:
しかし、彼が「BaseController クラス」とは何を意味するのかわかりません。
自分の価値観をビューに表示したい
いいね: -$150.00
代わりに: ($150.00)
--
これが私がしなければならないことだと思います:
しかし、彼が「BaseController クラス」とは何を意味するのかわかりません。
それはすべてにかかってい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));
}
}
@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;
}