Отображать образцы форматов для разных локалей в C#

При запуске программы выполняется следующий код.

private void Form1_Load(object sender, EventArgs e)
{
    float float_value = 1234.56f;
    decimal dec_value = 1234.56m;
    DateTime now = DateTime.Now;

    // Петля через локали.
    foreach (CultureInfo info in
        CultureInfo.GetCultures(CultureTypes.AllCultures))
    {
        ListViewItem item = lvwResults.Items.Add(
            info.EnglishName);
        item.SubItems.Add(info.NativeName);
        item.SubItems.Add(info.Name);

        // Вы не можете использовать нейтральную культуру как формат
        //, поэтому, если CultureInfo нейтрален,
        // искать не нейтрального предка.
        CultureInfo culture = info;
        while ((culture != null) && (culture.IsNeutralCulture))
            culture = culture.Parent;
        if (culture != null)
        {
            item.SubItems.Add(float_value.ToString("N", culture));
            item.SubItems.Add(dec_value.ToString("C", culture));
            item.SubItems.Add(now.ToString("d", culture));
            item.SubItems.Add(now.ToString("t", culture));
        }
    }
}

Этот код сначала создает значения float, decimal и DateTime. Затем он перебирает объекты CultureInfo, возвращаемые CultureInfo.GetCultures.

Этот код сначала создает значения float, decimal и DateTime. Затем он перебирает объекты CultureInfo, возвращаемые CultureInfo.GetCultures.

...

Далее код проверяет, является ли объект нейтральной культурой, такой как en. Если это так, объект не содержит информацию о конкретной культуре, которая необходима для форматирования значений. Например, культура en не содержит эту информацию. Напротив, определенная культура, такая как en-US или en-GB.

Если объект действительно представляет собой нейтральную культуру, код поднимается на свою родительскую иерархию, пока не найдет не нейтральную культуру, и она использует ее.

Источник: http://csharphelper.com/blog/2015/10/display-sample-formats-for-different-locales-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector