缺少小数点分隔符
Decimal separator missing
当我发布并且 运行 我的应用程序在生产服务器上的小数点分隔符(用于十进制类型数字)正在消失(用于后台计算和显示)。
例如:26,1205 -> 261205
它只发生在远程 Windows Server 2019 Standard 上。这就是我所做的,但它仍然无济于事:
我在 Configure
方法中设置 CultureInfo
用于 Startup.cs
中的应用程序:
var defaultDateCulture = "ru-RU"; //no matter what culture is set here (en, ru, etc), it applied locally but not on production
var ci = new CultureInfo(defaultDateCulture);
app.UseRequestLocalization(new RequestLocalizationOptions
{
DefaultRequestCulture = new RequestCulture(ci),
SupportedCultures = new List<CultureInfo> { ci },
SupportedUICultures = new List<CultureInfo> { ci }
});
我检查了 windows 服务器上的区域设置:
感谢用户mr. Matthew Watson 为我提供了正确的指导。
应用程序执行货币操作的延迟预定后台任务(使用BackgroundService
class)。该问题是该线程的实际问题。所以我在执行操作之前明确设置 CultureInfo
。
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
...
Thread.CurrentThread.CurrentCulture = new CultureInfo("ru-RU");
...
}
当我发布并且 运行 我的应用程序在生产服务器上的小数点分隔符(用于十进制类型数字)正在消失(用于后台计算和显示)。 例如:26,1205 -> 261205
它只发生在远程 Windows Server 2019 Standard 上。这就是我所做的,但它仍然无济于事:
我在 Configure
方法中设置 CultureInfo
用于 Startup.cs
中的应用程序:
var defaultDateCulture = "ru-RU"; //no matter what culture is set here (en, ru, etc), it applied locally but not on production
var ci = new CultureInfo(defaultDateCulture);
app.UseRequestLocalization(new RequestLocalizationOptions
{
DefaultRequestCulture = new RequestCulture(ci),
SupportedCultures = new List<CultureInfo> { ci },
SupportedUICultures = new List<CultureInfo> { ci }
});
我检查了 windows 服务器上的区域设置:
感谢用户mr. Matthew Watson 为我提供了正确的指导。
应用程序执行货币操作的延迟预定后台任务(使用BackgroundService
class)。该问题是该线程的实际问题。所以我在执行操作之前明确设置 CultureInfo
。
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
...
Thread.CurrentThread.CurrentCulture = new CultureInfo("ru-RU");
...
}