Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
C#1.doc
Скачиваний:
15
Добавлен:
14.11.2019
Размер:
794.11 Кб
Скачать

Управляющие последовательности

Символы

Назначение

\a

Звуковой сигнал

\b

Возврат на шаг назад (удаление предыдущего символа)

\f

Перевод страницы

\n

Перевод строки

\r

Возврат каретки (удаление всех символов строки, стоящих до текущего)

\t

Горизонтальная табуляция

\v

Вертикальная табуляция

\\

Обратная косая черта

\’

Апостроф

\”

Кавычки

Пример:

Console.Write("Привет!\nПойдем в кинотеатр \"Октябрь\".");

В результате на экране появится следующее сообщение (курсор мигает сразу после сообщения, в конце второй строки):

  • Управление размером поля вывода

Используется такая строка формата: {n, m}, где

  • n определяет номер идентификатора из списка аргументов метода вывода WriteLine() или Write() (напомним, нумерация начинается с нуля);

  • m – количество позиций, отводимых под значение данного идентификатора; задаёт ширину области, в которую будет помещено форматированное значение. Если m положительное, то значение идентификатора будет выровнено по правому краю, а если отрицательное, то по левому. Если выделенных позиций для размещения значения идентификатора окажется недостаточно, то необходимое количество позиций добавится автоматически.

Рассмотрим этот способ форматирования на примере:

int x = 103;

Console.WriteLine("|{0,5}|{0,‑5}|{0,1}|", x);

Здесь мы трижды управляем размером поля вывода. Каждый раз выводится одно и то же число x, равное 103, но за счет параметра, указываемого в фигурных скобках вторым, способ отображения отличается. В первом случае под x, содержащее три разряда, выделяется пять позиций, и число выравнивается по правому краю (два пробела остается впереди). Во втором случае указывается параметр –5, т. е. под тот же x выделяется пять позиций, но выравнивание происходит по левому краю (два пробела остается после числа). В третьем варианте указан параметр 1, но под число выделяется не одна позиция, а столько, сколько ему необходимо по минимуму, а именно три. На экран данные выводятся в следующем виде:

  • Управление размещением вещественных данных

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

double pi = Math.PI; //число Пи

Console.WriteLine("PI={0,10}", pi);

Console.WriteLine("PI={0,20}", pi);

Число Пи мы определили с помощью свойства класса Math (некоторые свойства и методы этого статического класса перечислены в табл. 1.2).

Таблица 1.2

Некоторые свойства и методы класса Math

Название

Вид

Описание

Abs()

Статический метод

Возвращает абсолютное значение (модуль) числа

Acos()

Статический метод

Возвращает угол, косинус которого равен указанному числу

Asin()

Статический метод

Возвращает угол, синус которого равен указанному числу

Atan()

Статический метод

Возвращает угол, тангенс которого равен указанному числу

Cos()

Статический метод

Возвращает косинус указанного угла

E

Свойство

Представляет основание натурального логарифма, определяемое константой e

Exp()

Статический метод

Возвращает e, возведенное в указанную степень

Log()

Статический метод

Возвращает натуральный логарифм указанного числа с основанием e

Log10()

Статический метод

Возвращает логарифм указанного числа с основанием 10

Max()

Статический метод

Возвращает большее из двух чисел

Min()

Статический метод

Возвращает меньшее из двух чисел

PI

Свойство

Представляет отношение длины окружности к ее диаметру, определяемое константой π

Pow()

Статический метод

Возвращает указанное число, возведенное в указанную степень

Round()

Статический метод

Округляет число до ближайшего целого

Sin()

Статический метод

Возвращает синус указанного угла

Sqrt()

Статический метод

Возвращает квадратный корень из указанного числа

Tan()

Статический метод

Возвращает тангенс указанного угла

Truncate()

Статический метод

Вычисляет целую часть заданного числа

Переменная pi в нашем примере содержит 14 разрядов после запятой. В первом вызове метода WriteLine() мы выделили позиций меньше, чем требуется (10), остальные были добавлены автоматически, а во втором вызове – больше (20), поэтому перед числом остается несколько пробелов.

Вторым параметром в строке формата мы указываем лишь сколько разрядов выделяется под все число целиком. Для более удобного вывода вещественных чисел существует другой способ форматированного вывода: используется строка вида {n:##.###}, где

  • n определяет номер идентификатора из списка аргументов метода вывода Write() или WriteLine(),

  • ##.### – формат вывода вещественного числа (в данном случае под целую часть числа отводится две позиции, под дробную – три). Если выделенных позиций для размещения целой части значения идентификатора окажется недостаточно, то автоматически добавится необходимое количество позиций.

Пример (трижды выводим ту же переменную pi):

Console.WriteLine("PI={0:##.####}", pi);

Console.WriteLine("PI={0:#.###}", pi);

Console.WriteLine("PI={0:.#}", pi);

На экране будет выведено следующее:

Заметьте, что число округляется, а не просто происходит отбрасывание разрядов. Кроме того, независимо от того, сколько позиций выделяется под целую часть, отображается она всегда одинаково (вся целиком), поэтому проще всего использовать третий вариант вывода целой части. Если под дробную часть выделить больше позиций, чем имеется в числе, выведены будут лишь те разряды, которые в числе содержатся, остальные символы ‘#’ будут проигнорированы.

  • Управление форматом числовых данных

Строка формата имеет вид {n: <Формат>m}, где

  • n – номер идентификатора из списка параметров метода вывода Write() или WriteLine();

  • m – описатель точности, управляет количеством позиций, выделяемых для числа, или числом разрядов в дробной части форматированного результата (см. табл. 1.3);

  • <Формат> определяет тип формата данных, возможные значения перечислены в табл. 1.3:

Формат можно указывать не только заглавной, но и соответствующей прописной буквой.

Таблица 1.3

Возможные значения формата

Формат

Тип формата

Смысл параметра m

C

Денежный;

по умолчанию ставит знак «р.»

Задается количество десятичных разрядов, по умолчанию 2

D

Целочисленный – используется толь­ко с целыми числами

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

E

Экспоненциальное представление чисел (инженерный формат)

Задается количество разрядов после запятой, по умолчанию 6

F

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

Задается количество разрядов после запятой, по умолчанию 2

G

Общий формат

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

N

Стандартное форматирование с использованием запятых и пробелов в качестве разделителей между разрядами

Задается количество разрядов после запятой, по умолчанию 2

X

Шестнадцатеричный формат

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

P

Процентный (к результату приписывается знак %)

Задается количество разрядов после запятой, по умолчанию 2

Пример (в нем используются различные варианты форматного вывода):

Console.WriteLine(" C Format:{0,14:C}\t{0,10:C0}\t{0,14:C3}", 1234.5);

Console.WriteLine(" D Format:{0,14:D}\t{0,10:D2}\t{0,14:D5}", 1234);

Console.WriteLine(" E Format:{0,14:E}\t{0,10:E2}\t{0,14:E7}", 1234.567);

Console.WriteLine(" F Format:{0,14:F}\t{0,10:F1}\t{0,14:F4}", 1234.567);

Console.WriteLine(" G Format:{0,14:G}\t{0,10:G2}\t{0,14:G5}", 1234.567);

Console.WriteLine(" N Format:{0,14:N}\t{0,10:N1}\t{0,14:N4}", 1234.567);

Console.WriteLine(" X Format:{0,14:X}\t{0,10:X1}\t{0,14:X3}", 123);

Console.WriteLine(" P Format:{0,14:P}\t{0,10:P0}\t{0,14:P3}", 0.1);

На экране выводится следующая информация:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]