Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用两种不同的文化/地区格式选项设置两个标签的文本?_C#_Cultureinfo_Regioninfo - Fatal编程技术网

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”,则需要这些参数来设置货币/日期等格式。。。