C# 如何使用两种不同的文化/地区格式选项设置两个标签的文本?
如何使用两种不同的文化/地区格式选项设置两个标签的文本? 第一个标签为C# 如何使用两种不同的文化/地区格式选项设置两个标签的文本?,c#,cultureinfo,regioninfo,C#,Cultureinfo,Regioninfo,如何使用两种不同的文化/地区格式选项设置两个标签的文本? 第一个标签为ar,例如:阿拉伯语-埃及 第二个将成为en-US:English-United 这需要针对数字/日期/时间/货币格式执行。我认为这可能会解决您的问题: 我需要以两种不同的文化形式展示不同的金钱价值观。因此,我在每个代码行显示值后都这样做了: CultureInfo US = new CultureInfo("en-US"); Thread.CurrentThread.CurrentCulture = US; // Asig
ar,例如:阿拉伯语-埃及
第二个将成为en-US:English-United
这需要针对数字/日期/时间/货币格式执行。我认为这可能会解决您的问题: 我需要以两种不同的文化形式展示不同的金钱价值观。因此,我在每个代码行显示值后都这样做了:
CultureInfo US = new CultureInfo("en-US");
Thread.CurrentThread.CurrentCulture = US;
// Asign your label here
CultureInfo AR = new CultureInfo("ar-EG");
Thread.CurrentThread.CurrentCulture = AR;
//Asign label here
请记住将以下名称空间添加到代码文件的顶部:
using System.Threading;
using System.Globalization;
并重新设置以前的文化。您甚至可以通过在程序中添加这些行来覆盖系统区域性信息。cs在ToString()方法中显式使用区域性。例如:
DateTime dt = DateTime.Now;
CultureInfo arabic = CultureInfo.GetCultureInfo("ar-EG");
label1.Text = dt.ToString(arabic.DateTimeFormat);
CultureInfo english = CultureInfo.GetCultureInfo("en-US");
label2.Text = dt.ToString(english.DateTimeFormat);
使用CultureInfo.NumberFormat格式化数字。这在数字的情况下不起作用,它总是向我们显示格式?实际上,它应该可以,它与我一起工作(使用es CR和en US)。请记住,代码从操作系统获取文化配置,因此如果您以不同的方式配置了“ar EG”,则需要这些参数来设置货币/日期等格式。。。