Классы, соответствующие определенному языку и региональным параметрам, для глобальных форм 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