C# 使用CultureInfo本地数字而不是英文版本

C# 使用CultureInfo本地数字而不是英文版本,c#,cultureinfo,C#,Cultureinfo,我将告诉我的WinForms应用程序使用CultureInfo本机号码而不是系统号码(例如英语版本)来显示数字/数字。那么有什么方法可以做到这一点呢 Thread.CurrentThread.CurrentCulture = new CultureInfo("fa-IR"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("fa-IR"); 非常感谢;) 是的,你的方向是正确的 // it will tell to use fr

我将告诉我的WinForms应用程序使用CultureInfo本机号码而不是系统号码(例如英语版本)来显示数字/数字。那么有什么方法可以做到这一点呢

Thread.CurrentThread.CurrentCulture = new CultureInfo("fa-IR");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("fa-IR");

非常感谢;)

是的,你的方向是正确的

// it will tell to use french
CultureInfo frenchCulture = new CultureInfo("fr-FR");
Thread.CurrentThread.CurrentCulture = frenchCulture;

要了解更多信息,请访问

如果您对整个应用程序执行一次,而不是在每个方法中执行一次,这可能没问题,但事实上,为什么不让框架执行它需要执行的操作,如果用户已设置为使用德语呢?您应该尊重用户的需求以及他在windows控制面板中的设置。

我有时会让用户手动切换。你也可以争辩“为什么YouTube在其网站底部提供了一个大型语言切换菜单”。这很可能是一个补充,因为可能存在自动检测不是100%准确的情况(假设一个德国用户坐在法语窗口上,想用德语工作,但没有切换整个操作系统语言的权限)。是的,我知道应该在整个应用程序上指定区域性。我在中的应用程序仅适用于区域性远红外,但数字并没有用正确的字符显示,例如,当我将英文数字转换为波斯语的适当字符时,5应该是۵,例如,我没有用于路由到正确项目的组合框键入功能。