Если значение переменной num положительно, то оно отображается с двумя раз
рядами после десятичной точки. Если же значение переменной num отрицательно,
то оно также отображается с двумя разрядами после десятичной точки, но в круглых
скобках. А если значение переменной num равно нулю, то оно отображается в виде
строки 0.00. Когда используются разделители, указывать все части приведенной выше
формы пользовательского спецификатора формата совсем не обязательно. Так, если
требуется вывести только положительные или отрицательные значения, нулевой
В приведенном ниже примере программы демонстрируется лишь несколько спе циальных форматов, которые могут быть определены пользователем. // Пример применения специальных форматов. using System; class PictureFormatDemo { static void Main { double num = 64354.2345; Console.WriteLine("Формат по умолчанию: " + num); // Отобразить числовое значение с 2 разрядами после десятичной точки. Console.WriteLine("Значение с 2 десятичными разрядами: " + "(0:#.##)", num); // Отобразить числовое значение с 2 разрядами после // десятичной точки и запятыми перед ней. Console.WriteLine("Добавить запятые: (0:#,###.##}", num); // Отобразить числовое значение в экспоненциальном представлении. Console.WriteLine("Использовать экспоненциальное представление: " + "{0:#.###е+00}", num); // Отобразить числовое значение, масштабированное в тысячах. Console.WriteLine("Значение в тысячах: " + "(0:#0,)", num); /* Отобразить по-разному положительные, отрицательные и нулевые значения. */ Console.WriteLine("Отобразить по-разному положительные," + "отрицательные и нулевые значения."); Console.WriteLine("{0:#.#;(#.##);0.00}", num); num = -num; Console.WriteLine("{0:#.##;(#.##);0.00}", num); num = 0.0; Console.WriteLine("{0:#.##;(#.##);0.00}", num); // Отобразить числовое значение в процентах. num = 0.17; Console.WriteLine("Отобразить в процентах: {0:#%}", num); } }
Ниже приведен результат выполнения этой программы. Формат по умолчанию: 64354.2345 Значение с 2 десятичными разрядами: 64354.23 Добавить запятые: 64,354.23 Использовать экспоненциальное представление: 6.435е+04 Значение в тысячах: 64 Отобразить по-разному положительные, отрицательные и нулевые значения. 64354.2 (64354.23) 0.00 Отобразить в процентах: 17% Форматирование даты и времени
Помимо числовых значений, форматированию нередко подлежит и другой тип данных: DateTime. Это структура, представляющая дату и время. Значения даты и времени могут отображаться самыми разными способами. Ниже приведены лишь не которые примеры их отображения. 06/05/2005 Friday, January 1, 2010 12:59:00 12:59:00 PM
Кроме того, дата и время могут быть по-разному представлены в отдельных стра нах. Для этой цели в среде .NET Framework предусмотрена обширная подсистема форматирования значений даты и времени.
Форматирование даты и времени осуществляется с помощью спецификаторов формата. Спецификаторы формата даты и времени сведены в табл. 22.7. Конкретное представление даты и времени может отличаться в силу региональных и языковых осо бенностей и поэтому зависит от настройки параметров культурной среды.
Таблица 22.7. Спецификаторы формата даты и времени Спецификатор Формат D Дата в длинной форме d Дата в краткой форме F Дата и время в длинной форме f Дата и время в краткой форме G Дата — в краткой форме, время — в длинной gg Дата и время — в краткой форме м Месяц и день m То же, что и M O Формат даты и времени, включая часовой пояс. Строка, составленная в формате O, может быть преобразована обратно в эквивалентную форму вывода даты и времени. Это так называемый “круговой” формат o То же, что и O R Дата и время в стандартной форме по Гринвичу r То же, что и R S Сортируемый формат представления даты и времени Т Время в длинной форме t Время в краткой форме U Длинная форма универсального представления даты и времени; время отображается как универсальное синхронизированное время (UTC) u Краткая форма универсального представления даты и времени Y Месяц и год y То же, что и Y