ASP.NET Core中的本地化系统发生了相当大的变化。在当前线程中不再可用CurrentCulture
。
我试图按照这里所解释的方式设置CurrentCulture
的NumberFormat
属性,以便自定义显示货币的格式,但显然不再可能这样做。那么如何设置CurrentCulture
的NumberFormat
属性呢?
在asp.net core之前适用于此的代码:
CurrentCulture modified = new CultureInfo(Thread.CurrentThread.CurrentCulture.Name);
Thread.CurrentThread.CurrentCulture = modified;
var numberFormat = modified.NumberFormat;
numberFormat.CurrencySymbol = "RM";
numberFormat.CurrencyDecimalDigits = 2;
numberFormat.CurrencyDecimalSeparator = ".";
numberFormat.CurrencyGroupSeparator = ",";
例如,我在代码的某处想要执行以下操作:
string fMoney;
fMoney = money.ToString("C");
return fMoney;
期望应用numberFormat
设置。
app.UseRequestLocalization(new RequestCulture(modified));
的签名已经改变了。现在需要一个RequestLocalizationOptions
对象。 - Mike de Klerk