Добавить в цитаты Настройки чтения

Страница 386 из 502

Задает количество десятичных разрядов

с

То же, что и С

D

Целочисленный (используется только с

целыми числами)

Задает минимальное количество цифр. При необходимости результат дополняется начальными нулями

d

То же, что и D

Е

Экспоненциальное представление чисел (в обозначении используется прописная буква Е)

Задает количество десятичных разрядов. По умолчанию используется шесть рязрядов

е

Экспоненциальное представление чисел (в обозначении используется строчная буква е)

Задает количество десятичных разрядов. По умолчанию используется шесть рязрядов

F

Представление чисел с фиксированной точкой

Задает количество десятичных разрядов

f

То же, что и F

G

Используется более короткий из двух форматов: Е или F

См. спецификаторы Е и F

g

Используется более короткий из двух форматов: е или f

См. спецификаторы е и f

N

Представление чисел с фиксированной точкой (и запятой в качестве разделителя групп разрядов)

Задает количество десятичных разрядов

n

То же, что и N

P

Проценты

Задает количество десятичных разрядов

р

То же, что и Р

R или г

Числовое значение, которое преобразуется с помощью метода Parse() в эквивалентную внутреннюю форму. (Это так называемый “круговой” формат)

Не используется

X

Шестнадцатеричный (в обозначении используются прописные буквы A-F)

Задает минимальное количество цифр. При необходимости результат дополняется начальными нулями

x

Шестнадцатеричный (в обозначении используются строчные буквы A-F)

Задает минимальное количество цифр. При необходимости результат дополняется начальными нулями

Как пояснялось выше, конкретное действие спецификаторов формата зависит от текущих настроек параметров культурной среды. Например, спецификатор денежной единицы С автоматически отображает числовое значение в формате денежной единицы, выбранном для локализации программного обеспечения в конкретной культурной среде. Для большинства пользователей используемая по умолчанию информация о культурной среде соответствует их региональным стандартам и языковым особенностям. Поэтому один и тот же спецификатор формата может использоваться без учета культурного контекста, в котором выполняется программа.

В приведенной ниже программе демонстрируется применение нескольких спецификаторов формата числовых данных.

<b>// Продемонстрировать применение различных</b>

<b>// спецификаторов формата числовых данных.</b>

<b>using System;</b>

<b>class FormatDemo {</b>

<b>  static void Main() {</b>

<b>    double v = 17688.65849;</b>

<b>    double v2 = 0.15;</b>

<b>    int x = 21;</b>

<b>    Console.WriteLine(&quot;{0:F2}&quot;, v);</b>

<b>    Console.WriteLine(&quot;{0:N5}&quot;, v);</b>

<b>    Console.WriteLine (&quot;{0:e}&quot;, v);</b>

<b>    Console.WriteLine(&quot;{0:r}&quot;, v);</b>

<b>    Console.WriteLine(&quot;{0:p}&quot;, v2);</b>

<b>    Console.WriteLine(&quot;{0:X}&quot;, x);</b>

<b>    Console.WriteLine(&quot;{0:D12}&quot;, x);</b>

<b>    Console.WriteLine(&quot;{0:C}&quot;, 189.99);</b>

<b>  }</b>

<b>}</b>

Эта программа дает следующий результат.

<b>17688.66</b>

<b>17.688.65849</b>

<b>1.768866е+004</b>

<b>17688.65849</b>

<b>15.00 %</b>

<b>15</b>

<b>000000000021</b>

<b>$189.99</b>

Обратите внимание на действие спецификатора точности в нескольких форматах.

Следует иметь в виду, что аргумент, связанный со спецификатором формата, определяется номером аргумента, а не его позицией в списке аргументов. Это означает, что один и тот же аргумент может указываться неоднократно в одном вызове метода WriteLine(). Эта также означает, что аргументы могут отображаться в той последовательности, в какой они указываются в списке аргументов. В качестве примера рассмотрим следующую программу.

<b>using System;</b>

<b>class FormatDemo2 {</b>

<b>  static void Main() {</b>

<b>    // Форматировать один и тот же аргумент тремя разными способами.</b>

<b>    Console.WriteLine(&quot;{0:F2} {0:F3} {0:e}&quot;, 10.12345);</b>

<b>    // Отобразить аргументы не по порядку.</b>

<b>    Console.WriteLine(&quot;{2:d} {0:d} {l:d}&quot;, 1, <i>2,</i> 3) ;</b>

<b>  }</b>

<b>}</b>

Ниже приведен результат выполнения этой программы.

<b>10.12 10.123 1.012345е+001</b>

<b>3 1 2</b>