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

Форматирование текстовых строк

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

Что касается С#, то сам по себе этот язык не содержит средств форматирования строк. Однако богатейшие возможности такого форматирования предоставляются программисту в рамках библиотеки классов Microsoft .NET Framework. Первые шаги в изучении средств форматирования обычно связаны с использованием метода Console.WriteLine, например, при выводе в консольное окно шестнадцатеричных чисел.

Аналогичное форматирование доступно при формировании текстовых строк методом String.Format, не имеющим никакого отношения к консольному выводу. Это часто необходимо для разработки программ с оконным пользовательским интерфейсом, т.к. там, как правило, необходимо перед выводом преобразовывать числовые значения в текстовые строки. Эта задача и решается при помощи метода String.Format. Полное и детальное рассмотрение возможностей форматирования различных типов данных выходит за рамки данного курса, но основные приемы и методы форматирования чисел достаточно просто могут быть продемонстрированы на примере целых чисел.

Чтобы преобразовать целочисленное значение в текстовую строку с форматированием при помощи метода String.Format, необходимо задать этому методу так называемую строку формата (format string), а также передать в качестве параметров одно или несколько преобразуемых значений. В ответ данный метод возвратит отформатированную строку.

Строка формата задается методу String.Format в следующем виде:

{N[,М][:formatString]}

Здесь число N задает номер преобразуемого аргумента, передаваемого методу String.Format в качестве параметра. Необязательное число М задает ширину области текстовой строки (в символах), внутри которой необходимо поместить цифры преобразуемого значения. Если это число отрицательное, цифры числа выравниваются по левой границе данной области, а если положительное — по правой границе области.

И, наконец, строка formatString задает коды форматирования, которые существуют для каждого типа данных. Для форматирования целых чисел используются эквивалентные коды форматирования d и D, для вывода в шестнадцатеричной кодировке – коды х и Х.

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

using System;

namespace StringFormat

{

class Program

{

static void Main(string[] args)

{

int iSignedNumber = 777;

string result;

result = String.Format("{0}", iSignedNumber);

Console.WriteLine(result);

result = String.Format("{0:x}", 0x23fabc);

Console.WriteLine(result);

result = String.Format("{0:X}", 0x23fabc);

Console.WriteLine(result);

result = String.Format("{0:d2}", iSignedNumber);

Console.WriteLine(result);

result = String.Format("{0:d8}", iSignedNumber);

Console.WriteLine(result);

result = String.Format("{0,5:d}", iSignedNumber);

Console.WriteLine(result);

result = String.Format("{0,-5:d}Этo счастливое число",

iSignedNumber);

Console.WriteLine(result);

Console.ReadLine();

}

}

}

Результат работы этой программы: