如何使用两种不同的文化/区域格式选项设置两个标签的文本?

时间:2009-12-02 08:11:40

标签: c# cultureinfo regioninfo

如何使用两种不同的文化/区域格式选项设置两个标签的文本? 对于第一个标签为ar-EG : Arabic - Egypt 第二个是en-US : English - United States

这是为了数字/日期/时间/货币格式。

2 个答案:

答案 0 :(得分:1)

在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格式化数字。

答案 1 :(得分:0)

我认为这可以解决您的问题:

我需要以两种不同的文化格式展示不同的货币价值。所以我在每个代码行之后立即执行此操作:

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;

并重新设定以前的文化。您甚至可以通过在program.cs上添加这些行来覆盖系统文化信息