Читаем Полное руководство. С# 4.0 полностью

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

Таблица 22.6. Символы-заполнители специального формата числовых данных Символ-заполнитель Назначение # Цифра . Десятичная точка , Разделитель групп разрядов % Процент 0 Используется для дополнения начальными и конечными нулями ; Выделяет разделы, описывающие формат для положительных, отрицательных и нулевых значений Е0 Е+0 Е-0 е0 е+0 е-0 Экспоненциальное представление чисел

Символ-заполнитель 0 обусловливает дополнение форматируемого числового зна чения начальными или конечными нулями, чтобы обеспечить минимально необхо димое количество цифр в строковом представлении данного значения. Этот символ может указываться как слева, как и справа от десятичной точки. Например, следующая строка кода: Console.WriteLine("{0:00##.#00}", 21.3);

выводит такой результат. 0021.300

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

При отображении больших числовых значений отдельные группы цифр могут от деляться друг от друга запятыми, для чего достаточно вставить запятую в шаблон, со стоящий из символов #. Например, следующая строка кода: Console.WriteLine("{0:#,###.#}", 3421.3);

выводит такой результат. 3,421.3.

Указывать запятую на каждой позиции совсем не обязательно. Если указать запя тую в шаблоне один раз, то она будет автоматически вставляться в форматируемом числовом значении через каждые три цифры слева от десятичной запятой. Например, следующая строка кода: Console.WriteLine("{0:#,###.#}", 8763421.3);

дает такой результат. 8,763,421.3.

У запятой имеется и другое назначение. Если запятая вставляется непосредственно перед десятичной точкой, то она выполняет роль масштабного коэффициента. Каж дая запятая делит форматируемое числовое значение на 1000. Например, следующая строка кода: Console.WriteLine("Значение в тысячах: {0:#,###,.#}", 8763421.3);

дает такой результат. Значение в тысячах: 8,763.4

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

Помимо символов-заполнителей, пользовательский спецификатор формата может содержать любые другие символы, которые появляются в отформатированной строке без изменения на тех местах, где они указаны в спецификаторе формата. Например, при выполнении следующего фрагмента кода: Console.WriteLine("КПД топлива: (0:##.# миль на галлон }", 21.3);

выводится такой результат. КПД топлива: 21.3 миль на галлон

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

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

Знак ; служит разделителем в различных форматах вывода положительных, от рицательных и нулевых значений. Ниже приведена общая форма пользовательского спецификатора формата, в котором используется знак ;. положительныйформат; отрицательныйформат; нулевой_формат Рассмотрим следующий пример. Console.WriteLine("{0:#.##; (#.##);0.00}", num);

Перейти на страницу:

Похожие книги

Основы программирования в Linux
Основы программирования в Linux

В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стан­дартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым. Для начинающих Linux-программистов

Нейл Мэтью , Ричард Стоунс , Татьяна Коротяева

ОС и Сети / Программирование / Книги по IT
97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT
Программист-прагматик. Путь от подмастерья к мастеру
Программист-прагматик. Путь от подмастерья к мастеру

Находясь на переднем крае программирования, книга "Программист-прагматик. Путь от подмастерья к мастеру" абстрагируется от всевозрастающей специализации и технических тонкостей разработки программ на современном уровне, чтобы исследовать суть процесса – требования к работоспособной и поддерживаемой программе, приводящей пользователей в восторг. Книга охватывает различные темы – от личной ответственности и карьерного роста до архитектурных методик, придающих программам гибкость и простоту в адаптации и повторном использовании.Прочитав эту книгу, вы научитесь:Бороться с недостатками программного обеспечения;Избегать ловушек, связанных с дублированием знания;Создавать гибкие, динамичные и адаптируемые программы;Избегать программирования в расчете на совпадение;Защищать вашу программу при помощи контрактов, утверждений и исключений;Собирать реальные требования;Осуществлять безжалостное и эффективное тестирование;Приводить в восторг ваших пользователей;Формировать команды из программистов-прагматиков и с помощью автоматизации делать ваши разработки более точными.

А. Алексашин , Дэвид Томас , Эндрю Хант

Программирование / Книги по IT