Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
+Presentation_4.doc
Скачиваний:
4
Добавлен:
08.02.2015
Размер:
298.5 Кб
Скачать

4.2. Форматирование строк

(http://msdn.microsoft.com/ru-ru/library/26etazsy.aspx)

Для элемента формата используется следующий синтаксис:

{Index[,length][:format]}

Таблица 4.5. Составляющие элемента форматирования

Элемент

Описание

index

Номер форматируемого объекта (отсчитываемый от нуля) в списке параметров метода. Если объект, указанный параметром index, имеет значениеnull, элемент формата заменяется наString.Empty(пустую строку).

length

Минимальное количество знаков в строковом представлении параметра. Если значение положительное, то параметр выравнивается по правому краю; а если отрицательное, то – по левому краю.

format

Стандартная или пользовательская настраиваемая строка форматирования (п.п.4.2.1, 4.2.2), которая поддерживается форматируемым объектом. Возможные значения для параметра formatсовпадают со значениями, поддерживаемыми методомToStringданного объекта. Еслиformatне указан, то в качестве него передаетсяnull.

4.2.1. Строки стандартных числовых форматов

Структура строк формата: Axx,

гдеA– спецификатор формата, аxx– спецификатор точности (необязателен).

Например:

Console.WriteLine("На счет поступила сумма {0:с}", 9.99);

Вывод:

На счет поступила сумма 9,99р.

или

На счет поступила сумма $9.99

Таблица 4.6. Спецификаторы стандартных числовых форматов (http://msdn.microsoft.com/ru-ru/library/dwhawy9k.aspx)

Спецификатор

Влияние на формат

Пример

Вывод

Силис

Выводит число в денежном формате.

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

Console.Write("{0:C}", 12.345);

Console.Write("{0:C3}", -12.34);

$12.35

($12.340)

Dилиd

Выводит целое число.

Описатель точности определяет минималь-ное число выводимых цифр (по умолчанию – min)

Console.Write("{0:D}", 123);

Console.Write("{0:D5}", -123);

123

-00123

Еилие

Выводит вещест-венное число в экспоненциальном (научном) формате.

Описатель точности определяет количество цифр дробной части (по умолчанию – 6)

Console.Write("{0:E}", 123000);

Console.Write("{0:E3}", 123000);

1.230000E+005

1.230E+005

Fилиf

Выводит вещественное число в формате с фик-сированной точкой.

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

Console.Write("{0:F0}", 12);

Console.Write("{0:F4}", 12.34);

12

12.3400

Gилиg

Выводит вещественное число в наиболее ком-пактной записи из двух вариантов: экспонен-циального и с фикси-рованной запятой.

Описатель точности определяет количество значащих цифр (по умолчанию: Byte, SByte – 3 зн., Int16, UInt16 – 5 зн., Int32, UInt32 – 10 зн., Int64 – 19 зн., UInt64 – 20 зн., Single (float) – 7 зн., Double – 15 зн., Decimal – 29 зн.)

Console.Write("{0:G}", 12.34);

Console.Write("{0:G4}", 12.345);

Console.Write("{0:G}", 1.20E-9);

12.34

12.34

1.2E-9

Nилиn

Выводит число с разделителями тысяч (в целой и дробной частях).

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

Console.Write("{0:N}", 1234.56);

1,234.56 или 1 234.56 (в зависимости от настроек)

Pилиp

Выводит число, умноженное на 100 и отображаемое с символом процента.

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

Console.Write("{0:P}", 1);

Console.Write("{0:P1}", 0.2345);

100.00 %

23.5 %

Rилиr

Выводит строковое представление числа

Console.Write("{0:R}", 123.456);

123.456

Xилиx

Выводит целое число в шестнадцатеричном формате.

Описатель точности определяет количество выводимых знаков

Console.Write("{0:X}", 255);

Console.Write("{0:x4}", 255);

Console.Write("{0:X4}", -1);

FF

00ff

00FF

Использование элемента форматирования для вставки значения валюты в строку:

decimal balance = 123.456;

Console.WriteLine("Остаток на счете: {0:C2}", balance);

// Вывод:

// Остаток на счете: $123.46

Форматирование числового значения в качестве строки со значением валюты с использованием текущего языка и региональных параметров (в примере это "en-US").

decimal balance = 123.456;

Console.WriteLine("Остаток на счете: ", balance.ToString("C2"));

// Вывод:

// Остаток на счете: $123.46

Пример 4.4. Форматирование выводимых числовых значений. В методе String.Formatстрока формата содержит два элемента форматирования: один – для отображения десятичного значения числа, а другой – его шестнадцатеричного значения.

public class Example

{ public static void Main()

{short[] arrVal = {Int16.MinValue, -29, 0, 1044, Int16.MaxValue};

Console.WriteLine("{0,8} {1,8}", "Decimal", "Hex");

foreach (short value in arrVal)

{ string fs = String.Format("{0,8:G} {0,8:X}", value);

Console.WriteLine(fs);

}

}

}

/* Вывод:

Decimal Hex

-32768 8000

-29 FFE3

0 0

1044 414

32767 7FFF

*/

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