异构文化信息

heterogeneous CultureInfo

在我的应用程序中,我希望将语言设置为法语,日期格式也设置为法语。 但我想阅读带小数点的数字格式(英文格式而不是法语格式(法语格式带逗号))

这可能吗? 我想象像这样的东西:

public App()
    {
        System.Threading.Thread.CurrentThread.CurrentUICulture = System.Globalization.CultureInfo.CreateSpecificCulture("fr-FR");
        System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("???");

有什么想法吗?

您只需更改区域性的 decimal 分隔符即可:

var culture = CultureInfo.CreateSpecificCulture("fr-FR");
culture.NumberFormat.CurrencyDecimalSeparator = ".";

你可以这样使用:

CultureInfo CustomCulture = new CultureInfo("fr-FR");
CustomCulture.DateTimeFormat = new CultureInfo("en-US").DateTimeFormat; // Change DateTimeFormat to make date always in en-US Culture
Thread.CurrentThread.CurrentCulture = CustomCulture;
Thread.CurrentThread.CurrentUICulture = CustomCulture;

////Date Formats
Thread.CurrentThread.CurrentCulture.DateTimeFormat.FullDateTimePattern = "dd MMMM yyyy Hh:mm:ss";
Thread.CurrentThread.CurrentCulture.DateTimeFormat.LongDatePattern = "dd MMMM yyyy";
Thread.CurrentThread.CurrentCulture.DateTimeFormat.LongTimePattern = "HH:mm:ss";
Thread.CurrentThread.CurrentCulture.DateTimeFormat.MonthDayPattern = "d MMMM";
Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern = "dd-MM-yyyy";