d
То же, что и D
Е
Экспоненциальное представление чисел (в обозначении используется прописная буква Е)
Задает количество десятичных разрядов. По умолчанию используется шесть рязрядов
е
Экспоненциальное представление чисел (в обозначении используется строчная буква е)
Задает количество десятичных разрядов. По умолчанию используется шесть рязрядов
F
Представление чисел с фиксированной точкой
Задает количество десятичных разрядов
f
То же, что и F
G
Используется более короткий из двух форматов: Е или F
См. спецификаторы Еи F
g
Используется более короткий из двух форматов: е или f
См. спецификаторы еи f
N
Представление чисел с фиксированной точкой (и запятой в качестве разделителя групп разрядов)
Задает количество десятичных разрядов
n
То же, что и N
P
Проценты
Задает количество десятичных разрядов
р
То же, что и Р
R или г
Числовое значение, которое преобразуется с помощью метода Parse() в эквивалентную внутреннюю форму. (Это так называемый “круговой” формат)
Не используется
X
Шестнадцатеричный (в обозначении используются прописные буквы A-F)
Задает минимальное количество цифр. При необходимости результат дополняется начальными нулями
x
Шестнадцатеричный (в обозначении используются строчные буквы A-F)
Задает минимальное количество цифр. При необходимости результат дополняется начальными нулями
Как пояснялось выше, конкретное действие спецификаторов формата зависит от текущих настроек параметров культурной среды. Например, спецификатор денежной единицы Савтоматически отображает числовое значение в формате денежной единицы, выбранном для локализации программного обеспечения в конкретной культурной среде. Для большинства пользователей используемая по умолчанию информация о культурной среде соответствует их региональным стандартам и языковым особенностям. Поэтому один и тот же спецификатор формата может использоваться без учета культурного контекста, в котором выполняется программа.
В приведенной ниже программе демонстрируется применение нескольких спецификаторов формата числовых данных.
// Продемонстрировать применение различных
// спецификаторов формата числовых данных.
using System;
class FormatDemo {
static void Main() {
double v = 17688.65849;
double v2 = 0.15;
int x = 21;
Console.WriteLine("{0:F2}", v);
Console.WriteLine("{0:N5}", v);
Console.WriteLine ("{0:e}", v);
Console.WriteLine("{0:r}", v);
Console.WriteLine("{0:p}", v2);
Console.WriteLine("{0:X}", x);
Console.WriteLine("{0:D12}", x);
Console.WriteLine("{0:C}", 189.99);
}
}
Эта программа дает следующий результат.
17688.66
17.688.65849
1.768866е+004
17688.65849
15.00 %
15
000000000021
$189.99
Обратите внимание на действие спецификатора точности в нескольких форматах.
Представление о номерах аргументов
Следует иметь в виду, что аргумент, связанный со спецификатором формата, определяется номером аргумента, а не его позицией в списке аргументов. Это означает, что один и тот же аргумент может указываться неоднократно в одном вызове метода WriteLine(). Эта также означает, что аргументы могут отображаться в той последовательности, в какой они указываются в списке аргументов. В качестве примера рассмотрим следующую программу.
using System;
class FormatDemo2 {
static void Main() {
// Форматировать один и тот же аргумент тремя разными способами.
Console.WriteLine("{0:F2} {0:F3} {0:e}", 10.12345);
// Отобразить аргументы не по порядку.
Console.WriteLine("{2:d} {0:d} {l:d}", 1, 2, 3) ;
}
}
Ниже приведен результат выполнения этой программы.
10.12 10.123 1.012345е+001
3 1 2
Читать дальше