Поделиться через


Классы, соответствующие определенному языку и региональным параметрам, для глобальных форм Windows Forms и Web Forms

В каждом наборе языковых и региональных параметров предусмотрены свои собственные соглашения об отображении дат, времени, числовых значений, денежных единиц и других данных.Пространство имен System.Globalization содержит классы, с помощью которых можно изменить порядок отображения значений, вид которых зависит от языковых и региональных параметров, в частности, классы DateTimeFormatInfo, Calendar и NumberFormatInfo.

Использование языковых и региональных параметров

Большую часть времени разработчик имеет дело с языковыми и региональными параметрами, сохраненными либо в приложении, либо в разделе Региональные стандарты панели управления, с тем, чтобы действующие соглашения автоматически определялись во время выполнения, и данные форматировались бы в соответствии с ними.Дополнительные сведения о настройках языка и региональных параметров см. в разделе Практическое руководство. Установка значений Culture и UICulture для глобализации форм Windows Forms или How to: Set the Culture and UI Culture for ASP.NET Web Page Globalization.Классы, автоматически форматирующие данные в зависимости от языковых и региональных параметров, называются регионально-зависимыми.Примеры регионально-зависимых методов: IFormattable.ToString, Console.WriteLine и String.Format.Примеры регионально-зависимых функций (в языке Visual Basic): MonthName и WeekDayName.

Так, приведенный ниже код иллюстрирует применение метода ToString для отображения денежных единиц в формате, соответствующем текущим языковым и региональным параметрам:

' Put the Imports statements at the beginning of the code module
Imports System.Threading
Imports System.Globalization
' Display a number with the culture-specific currency formatting
Dim MyInt As Integer = 100
Console.WriteLine(MyInt.ToString("C", Thread.CurrentThread.CurrentCulture))
// Put the using statements at the beginning of the code module
using System.Threading;
using System.Globalization;
// Display a number with the culture-specific currency formatting
int myInt = 100;
Console.WriteLine(myInt.ToString("C", Thread.CurrentThread.CurrentCulture));

Если используются региональные прараметры "fr-FR", в окне вывода появится следующее:

100,00

Если используются региональные прараметры "en-US", в окне вывода появится следующее:

$100.00

См. также

Ссылки

IFormattable.ToString

DateTimeFormatInfo

NumberFormatInfo

Calendar

Console.WriteLine

String.Format

Другие ресурсы

Глобализация и локализация приложений