草庐IT

CultureInfo

全部标签

c# - 日期时间和 CultureInfo

我的代码中有这个:vardate1=DateTime.ParseExact(date,"dd.MM.yyyyHH:mm:ss",System.Globalization.CultureInfo.InvariantCulture);当我当前的文化是荷兰语(nl-NL)而不是5月1日时,我得到的是1月5日。我认为错误在第二个参数dd.MM.yyyyHH:mm:ss。有没有办法使用CultureInfo类来解决这个问题? 最佳答案 您可以尝试以下方法:System.Globalization.CultureInfocultureinfo=

c# - 如何设置 CultureInfo.InvariantCulture 默认值?

当我在C#中有这样一段代码时:doublea=0.003;Console.WriteLine(a);它打印“0,003”。如果我有另一段代码:doublea=0.003;Console.WriteLine(a.ToString(CultureInfo.InvariantCulture));它打印“0.003”。我的问题是我需要一个点作为小数点,但C#默认使用逗号。此外,我不想为了打印出一个double变量而输入这么长的代码行。 最佳答案 您可以将当前线程的文化设置为您想要的任何文化:Thread.CurrentThread.Curr

c# - CultureInfo 名称的常量

C#系统/全局化命名空间中是否有一组包含有效区域性名称的常量或枚举?我正在寻找一些东西,这样我就不必输入“en-GB”等。 最佳答案 是的,有,GetCultures:System.Globalization.CultureInfo.GetCultures(System.Globalization.CultureTypes.SpecificCultures)这会返回一个CultureInfo对象数组,因此如果您想要字符串名称,您可以使用如下内容:IEnumerablecultures=CultureInfo.GetCultures(

c# - 是否可以为 .NET 应用程序或只是一个线程设置 CultureInfo?

我有一个用C#编写的应用程序,它没有GUI或UI,而是编写由另一个应用程序(XML和其他格式)解析的文件。我有一个客户,其CultureInfo将NumberDecimalSeparator设置为逗号,这会导致float解析错误(PI最终为3,1415)。我想要一种在应用程序中为所有线程全局设置CultureInfo的方法。我试过:将CurrentThread.CurrentCulture设置为Main()中第一行的(显然)习惯方法,但它似乎被重置了。http://www.codeproject.com/KB/cs/Change_App_Culture.aspx的变体/扩展对应用程序中

c# - 将 Asp.net Core 中的 CultureInfo 设置为具有 .作为 CurrencyDecimalSeparator 而不是 ,

我要疯了。我只想将整个Asp.net核心应用程序中使用的文化设置为“en-US”。但似乎没有任何效果。我在哪里设置整个应用程序的文化?我对客户端浏览器文化不感兴趣。似乎唯一改变它的是改变Windows的语言设置。我只希望文化由应用程序本身决定,而不是由客户决定。到目前为止我尝试了什么:设置在web.config中设置System.Threading.Thread.CurrentThread.CurrentCulture=cultureInfo;和CurrentUICulture在Startup.Configure中,甚至在Controller中。使用app.UseRequestLoca

c# - CultureInfo.CreateSpecificCulture() 和类的构造函数之间的区别?

类CultureInfo提供了两种创建方式:通过factorymethodCreateSpecificCulture(string).通过constructorwithastringargument两者的MSDN文档确实略有不同,针对构造函数提到了一些“Windows文化”。但这真的重要吗?我应该更喜欢两者之一吗?注意:如果重要的话,我使用的是.NET3.5版,我想像这样使用它:Thread.CurrentThread.CurrentCulture=CultureInfo.CreateSpecificCulture(culture);Thread.CurrentThread.Curre

c# - 如何使用适当的 cultureinfo 将字符串转换为 double

我在数据库中有两个nvarchar字段来存储DataType和DefaultValue,我有一个DataTypeDouble和英文格式的值为65.89875。现在我希望用户根据所选的浏览器语言格式查看值(英语中的65.89875应显示为德语中的65,89875)。现在,如果用户从德语格式编辑为65,89875,相当于英语中的65.89875,而其他用户从英语浏览器中查看,则为6589875。发生这种情况是因为在数据库中它在nvarchar列中存储为65,89875并且当使用英语文化转换时它变为6589875因为它将,视为分隔符,它是德语的小数运算符.我如何让它适用于所有浏览器?

c# - 在 WPF 绑定(bind)中使用 "real"CultureInfo.CurrentCulture,而不是 IetfLanguageTag 中的 CultureInfo

以我为例:我有一个TextBlock绑定(bind)到DateTime类型的属性。我希望它按照用户的区域设置显示。我将语言属性设置为WPFXAMLBindingsandCurrentCultureDisplay说:this.Language=XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag);但是使用这行代码它只是将文本显示为CultureInfo的默认格式用CurrentCulture的IetfLanguageTag表示,而不是在系统区域设置中选择的有效值表示:(例如,对于“de-DE”,使用dd.M

c# - DateTime.Now.DayOfWeek.ToString() 与 CultureInfo

我有代码:DateTime.Now.DayOfWeek.ToString()这给了我星期几的英文名称,我想要德文版本,如何在此处添加CultureInfo以获得星期几的德文名称? 最佳答案 varculture=newSystem.Globalization.CultureInfo("de-DE");varday=culture.DateTimeFormat.GetDayName(DateTime.Today.DayOfWeek); 关于c#-DateTime.Now.DayOfWeek

.net - 文化不可变对象(immutable对象) ToString()

如何在对象上调用ToString()并使其使用不变的文化?ToString()在实现IConvertible的对象上存在重载(如bool、int、float..),但如果有问题的对象不是IConvertible? 最佳答案 System.Convert类有一个静态ToString重载,它采用object。Convert.ToString(obj,CultureInfo.InvariantCulture);基于mybenchmarks,这大约是string.Format(CultureInfo.InvariantCulture,"{0