Шрифт:
Интервал:
Закладка:
В приведенном ниже примере программы демонстрируется лишь несколько специальных форматов, которые могут быть определены пользователем.
// Пример применения специальных форматов,
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
То же, что и M
O
Формат даты и времени, включая часовой пояс. Строка, составленная в формате O, может быть преобразована обратно в эквивалентную форму вывода даты и времени. Это так называемый “круговой” формат
о
То же, что и о
R
Дата и время в стандартной форме по Гринвичу
г
То же, что и R
s
Сортируемый формат представления даты и времени
T
Время в длинной форме
t
Время в краткой форме
U
Длинная форма универсального представления даты и времени; время отображается как универсальное синхронизированное время (UTC)
u
Краткая форма универсального представления даты и времени
Y
Месяц и год
y
То же, что и Y
В приведенном ниже примере программы демонстрируется применение спецификаторов формата даты и времени.
// Отформатировать дату и время, используя стандартные форматы,
using System;
class TimeAndDateFormatDemo {
static void Main() {
DateTime dt = DateTime.Now; // получить текущее время
Console.WriteLine("Формат d: {0:d}", dt);
Console.WriteLine("Формат D: {0:D}", dt);
Console.WriteLine("Формат t: {0:t}", dt) ;
Console.WriteLine("Формат'T: {0:T}", dt);
Console.WriteLine("Формат f: {0:f}", dt);
Console.WriteLine("Формат F: {0:F}", dt);
Console.WriteLine("Формат g: {0:g}", dt);
Console.WriteLine("Формат G: {0:G}", dt);
Console.WriteLine("Формат m: {0:m}", dt);
Console.WriteLine("Формат M: {0:M}", dt);
Console.WriteLine("Формат о: {0:o}", dt);
Console.WriteLine("Формат O: {0:O}", dt);
Console.WriteLine("Формат r: {0:r}", dt);
Console.WriteLine("Формат R: {0:R}", dt);
Console.WriteLine("Формат s: {0:s}", dt);
Console.WriteLine("Формат u: {0:u}", dt);
Console.WriteLine("Формат U: {0:U}", dt);
Console.WriteLine("Формат у: {0:y}", dt);
Console.WriteLine("Y format: {0:Y}", dt) ;
}
}
Эта программа дает следующий результат, который, впрочем, зависит от настроек языковых и региональных параметров локализации базового программного обеспечения.
Формат d: 2/11/2010
Формат D: Thursday, February 11, 2010 Формат t: 11:21 AM
Формат T: 11:21:23 AM
Формат f: Thursday, February 11, 2010 11:21 AM
Формат F: Thursday, February 11, 2010 11:21:23 AM
Формат g: 2/11/2010 11:21 AM
Формат G: 2/11/2010 11:21:23 AM
Формат m: February 11
Формат M: February 11
Формат о: 2010-02-11T11:21:23.3768153-06:00
Формат О: 2010-02-11T11:21:23.3768153-06:00
Формат r: Thu, 11 Feb 2010 11:21:23 GMT
Формат R: Thu, 11 Feb 2010 11:21:23 GMT
Формат s: 2010-02-11T11:21:23
Формат u: 2010-02-11 11:21:23Z
Формат U: Thursday, February 11, 2010 5:21:23 PM
Формат у: February, 2010
Формат Y: February, 2010
В следующем примере программы воспроизводятся очень простые часы. Время обновляется каждую секунду, и каждый час компьютер издает звонок. Для получения отформатированного строкового представления времени перед его выводом в этой программе используется метод ToStringO из структуры DateTime. Через каждый час символ звукового предупреждающего сигнала присоединяется к отформатированной строке, представляющей время, в результате чего звенит звонок.
// Пример простых часов.
using System;
class SimpleClock {
static void Main() {
string t;
int seconds;
DateTime dt = DateTime.Now;
seconds = dt.Second;
for(;;) {
dt = DateTime.Now;
- QT 4: программирование GUI на С++ - Жасмин Бланшет - Программирование
- C# для профессионалов. Том II - Симон Робинсон - Программирование
- ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ. РУКОВОДСТВО ПО УПРАВЛЕНИЮ ДОКУМЕНТИРОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ - ГОССТАНДАРТ РОССИИ - Программирование
- Управление исходными текстами. Часть 1. Краткое руководство по CVS - Илья Рыженков - Программирование
- Гибкое управление проектами и продуктами - Борис Вольфсон - Программирование
- Каждому проекту своя методология - Алистэр Коуберн - Программирование
- Разработка ядра Linux - Роберт Лав - Программирование
- Как спроектировать современный сайт - Чои Вин - Программирование
- Творческий отбор. Как создавались лучшие продукты Apple во времена Стива Джобса - Кен Косиенда - Прочая околокомпьтерная литература / Интернет / Программирование
- Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2 - Александр Фролов - Программирование