Как показывает приведенный выше результат, числовое значение выводится масштабированным в тысячах.

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

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

Console.WriteLine(КПД топлива: {0:##.# миль на галлон }, 21.3); выводится такой результат.

КПД топлива: 21.3 миль на галлон

При необходимости в форматируемой строке можно также указывать такие управляющие последовательности, как \t или \п.

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

Знак ; служит разделителем в различных форматах вывода положительных, отрицательных и нулевых значений. Ниже приведена общая форма пользовательского спецификатора формата, в котором используется знак ;.

положительный_формат ; отрицательный_формат ; нулевой_формат

Рассмотрим следующий пример.

Console.WriteLine({0:#.##; (#.##);0.00}, num);

Если значение переменной 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);

}

}

Статьи к прочтению:

Microsoft Azure OpenDev—June 2017


Похожие статьи: