如何设置CultureInfo.InvariantCulture默认?
当我在C#中有这样的代码时:
double a = 0.003; Console.WriteLine(a);
它打印“0,003”。
如果我有另一段代码:
double a = 0.003; Console.WriteLine(a.ToString(CultureInfo.InvariantCulture));
它打印“0.003”。
我的问题是我需要一个点作为十进制标记,但C#将逗号作为默认值。 此外,我不想只打印出一个双变量来输入这么长的代码。
您可以将当前线程的文化设置为您想要的任何文化:
Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture;
请注意,更改文化还会影响字符串比较和排序,日期格式以及日期和数字的分析等内容。
1空字符串指定config.file
中的config.file
默认情况下,在配置中将Culture和UICulture设置为“”。
2您也可以在Thread
定义
默认情况下,C#不会使它成为逗号,这是你的文化。 尝试明确地设置文化,
System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE");
链接: http : //msdn.microsoft.com/en-us/library/ms425914(v = office.12).aspx
如果您从不想要特定于文化的数字和日期格式,您可以在应用程序启动时设置一次文化。
Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture
如果它是ASP.NET应用程序,更简单的替代方法是在web.config的
配置元素中设置文化。
否则,您没有明确指定文化的替代方法。 如果您发现自己重复键入相同的长行代码,请执行您在此情况下始终执行的操作:将其包装在方法中。
当你调用WriteLine()
并给出一个double时,它会在内部或多或少地调用:
Console.WriteLine(a.ToString(CultureInfo.CurrentCulture));
现在的任务是用InvariantCulture
替换CurrentCulture
。 这可以通过以下代码行完成:
Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
现在你的线程被设置为InvariantCulture,你的第一个调用也应该打印“0.003”。
您可以将CultureInfo.InvariantCulture
设置为默认值,如上所示@Guffa和其他人。
但你必须清楚地知道为什么要这样做。 如果你进行数据导出/导入操作就没问题了,但是你可能不会将它用于呈现给用户的字符串。
Microsoft文档说明:
不变文化对文化不敏感; 它与英语有关,但与任何国家/地区无关。 您可以通过在对CultureInfo实例化方法的调用中使用空字符串(“”)来按名称指定不变文化。 …
与文化敏感数据不同,文化敏感数据可能会因用户自定义或.NET Framework或操作系统的更新而发生变化,因此不变文化数据会随着时间的推移和跨安装的文化而变得稳定,并且无法由用户自定义。 这使得不变文化对于需要与文化无关的结果的操作特别有用,例如格式化和解析操作以保持格式化数据,或者排序和排序操作,这些操作要求数据以固定顺序显示而不管文化。
从.NET Framework 4.5版(和.NET Core / Standard 1.0)开始,您可以通过修改CultureInfo.DefaultThreadCurrentCulture和CultureInfo.DefaultThreadCurrentUICulture属性来更改整个应用程序域的文化,而不仅仅是当前的Thread。
上述就是C#学习教程:如何设置CultureInfo.InvariantCulture默认?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
CultureInfo.DefaultThreadCurrentCulture = CultureInfo.InvariantCulture; CultureInfo.DefaultThreadCurrentUICulture = CultureInfo.InvariantCulture;
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/959399.html