Как установить текст из двух надписей с двумя различными вариантами форматирования культуры / региона? - PullRequest
0 голосов
/ 02 декабря 2009

Как установить текст из двух надписей с двумя разными вариантами форматирования культуры / региона? Для первого ярлыка будет ar-EG : Arabic - Egypt а второй будет en-US : English - United States?

Это необходимо сделать для чисел / даты / времени / валюты.

Ответы [ 2 ]

1 голос
/ 02 декабря 2009

Используйте культуру явно в методе 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 для форматирования чисел.

0 голосов
/ 02 декабря 2009

Я думаю, что это может решить вашу проблему:

Мне нужно было показать разные денежные ценности в двух разных культурных форматах. Поэтому я сделал это сразу после каждой строки кода, в которой указано значение:

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

...