linux 在Docker容器中运行的应用程序在DotNet Core中具有与Dot Net Framework不同的CultureInfo

wh6knrhe  于 2023-08-03  发布在  Linux
关注(0)|答案(1)|浏览(114)

我正在将我的应用程序从Dot Net Framework迁移到Containerised Dot Net Core 6。运行此代码以打印负货币值。

CultureInfo.CurrentCulture = new CultureInfo("en-US");
CultureInfo.CurrentUICulture = new CultureInfo("en-us");
Console.WriteLine(string.Format("{0:c}", -495));

字符串
在Dot-Net Framework和Dot-net Core中,在Windows中,行为是($495),在Dot-Net Core容器中,它显示为-$495。我不能在我的应用程序中硬编码,但我希望在docker容器的区域设置中进行更改。有没有什么方法可以做到这一点。

ncgqoxb0

ncgqoxb01#

可以尝试用所需的区域性设置当前线程

Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentUiCulture = new CultureInfo("en-US");

字符串
或者直接使用字符串格式方法:
Format string by CultureInfo

相关问题