Герберт Шилдт - C# 4.0 полное руководство - 2011 Страница 202

Тут можно читать бесплатно Герберт Шилдт - C# 4.0 полное руководство - 2011. Жанр: Разная литература / Прочее, год неизвестен. Так же Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте 500book.ru или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Герберт Шилдт - C# 4.0 полное руководство - 2011
  • Категория: Разная литература / Прочее
  • Автор: Герберт Шилдт
  • Год выпуска: неизвестен
  • ISBN: нет данных
  • Издательство: неизвестно
  • Страниц: 268
  • Добавлено: 2019-06-19 17:21:32
  • Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних просмотр данного контента СТРОГО ЗАПРЕЩЕН! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту pbn.book@yandex.ru для удаления материала


Герберт Шилдт - C# 4.0 полное руководство - 2011 краткое содержание

Прочтите описание перед тем, как прочитать онлайн книгу «Герберт Шилдт - C# 4.0 полное руководство - 2011» бесплатно полную версию:

Герберт Шилдт - C# 4.0 полное руководство - 2011 читать онлайн бесплатно

Герберт Шилдт - C# 4.0 полное руководство - 2011 - читать книгу онлайн бесплатно, автор Герберт Шилдт

Несмотря на все удобства встраивания команд форматирования выводимых данных в вызовы метода WriteLine (), иногда все же требуется сформировать строку, содержащую отформатированные данные, но не отображать ее сразу. Это дает возможность отформатировать данные заранее, чтобы вывести их в дальнейшем на выбранное устройство. Такая возможность особенно полезна для организации работы в среде с графическим пользовательским интерфейсом, подобной Windows, где ввод-вывод на консоль применяется редко, а также для подготовки вывода на веб-страницу.

Вообще говоря, отформатированное строковое представление отдельного значения может быть получено двумя способами. Один из них состоит в применении метода String. Format (), а другой — в передаче спецификатора формата методу ToStringO, относящемуся к одному из встроенных в C# числовых типов данных. Оба способа рассматриваются далее по порядку.

Применение метода String. Format () для форматирования значений

Для получения отформатированного значения достаточно вызвать метод Format (), определенный в классе String, в соответствующей его форме. Все формы этого метода перечислены в табл. 22.5. Метод Format () аналогичен методу WriteLine (), за исключением того, что он возвращает отформатированную строку, а не выводит ее на консоль.

Метод

Описание

public

static string

Форматирует объект argO в соответствии с первой ко

Format

(string format,

мандой форматирования, которая содержится в строке

obj ect

argO)

format. Возвращает копию строки format, в которой команда форматирования заменена отформатированными данными

public

static string

Форматирует объект argO в соответствии с первой

Format

(string format,

командой форматирования, содержащейся в строке

object

argO, object argl)

format, а объект argl в соответствии со второй командой. Возвращает копию строки format, в которой команды форматирования заменены отформатированными данными

public

static string

Форматирует объекты argO, argl и агд2 по соответ

Format

(string format,

ствующим командам форматирования, содержащимся

obj ect

argO, object argl,

в строке format. Возвращает копию строки format, в

obj ect

arg2)

которой команды форматирования заменены отформатированными данными

public

static string

Форматирует значения, передаваемые в массиве args,

Format

(string format,

в соответствии с командами форматирования, содержа

params

object[] args)

щимися в строке format. Возвращает копию строки format, в которой команды форматирования заменены отформатированными данными

public

static string

Форматирует значения, передаваемые в массиве args,

Format

(IFormatProvider

в соответствии с командами форматирования, содержа

provider, string format,

щимися в строке format, используя поставщик фор

params

object[] args)

мата provider. Возвращает копию строки format, в которой команды форматирования заменены отформатированными данными

Ниже приведен вариант предыдущего примера программы форматирования, измененный с целью продемонстрировать применение метода String. Format (). Этот вариант дает такой же результат, как и предыдущий.

// Использовать метод String.Format() для форматирования значений, using System;

class FormatDemo { static void Main() {

double v = 17688.65849; double v2 = 0.15; int x = 21;

string str = String.Format("{0:F2}", v);

Console.WriteLine(str) ;

str = String.Format("{0:N5}", v); Console.WriteLine(str);

str = String.Format("{0:e}", v); Console.WriteLine(str);

str = String.Format("{0:r}", v); Console.WriteLine (str);

str = String.Format("{0:p}", v2); Console.WriteLine(str);

str = String.Format("{0:X}", x) ; Console.WriteLine(str);

str = String.Format("{0:D12}", x) ; Console.WriteLine(str);

str = String.Format("{0:C}", 189.99); Console.WriteLine (str);

}

}

Аналогично методу WriteLine (), метод String. Format () позволяет встраивать в свой вызов обычный текст вместе со спецификаторами формата, причем в вызове данного метода может быть указано несколько спецификаторов формата и значений. В качестве примера рассмотрим еще одну программу, отображающую текущую сумму и произведение чисел от 1 до 10.

// Еще один пример применения метода Format().

using System;

class FormatDemo2 { static void Main() { int i;

int sum = 0; int prod = 1; string str;

/* Отобразить текущую сумму и произведение чисел от 1 до 10. */ for(i=l; i <= 10; i++)    {

sum += i; prod *= i;

str = String.Format("Сумма:{0,3:D} Произведение:{1,8:D}", sum, prod);

Console.WriteLine(str);

}

Сумма:    45    Произведение:    362880

Сумма:    55    Произведение:    3628800

Обратите особое внимание в данной программе на следующий оператор.

str = String.Format("Сумма:{0,3:D} Произведение:{1,8:D}", sum, prod);

В этом операторе содержится вызов метода Format () с двумя спецификаторами формата: одним — для суммы (в переменной sum), а другим — для произведения (в переменной prod). Обратите также внимание на то, что номера аргументов указываются таким же образом, как и в вызове метода WriteLine(),n что в вызов метода Format () включается обычный текст, как, например, строка "Сумма :    ". Этот текст

передается данному методу и становится частью выводимой строки.

Применение метода ToString () для форматирования данных

Для получения отформатированного строкового представления отдельного значения любого числового типа, которому соответствует встроенная структура, например Int32 или Double, можно воспользоваться методом ToString (). Этой цели служит приведенная ниже форма метода ToString().

public string ToString("форматирующая строка")

В этой форме метод ToString () возвращает строковое представление вызывающего объекта в том формате, который определяет спецификатор "форматирующая строка", передаваемый данному методу. Например, в следующей строке кода формируется строковое представление значения 188.99 в формате денежной единицы с помощью спецификатора формата С.

string str = 189.99.ToString("С");

Обратите внимание на то, что спецификатор формата передается методу ToString () непосредственно. В отличие от встроенных команд форматирования, используемых в вызовах методов WriteLine () и Format (), где для этой цели дополнительно указываются номер аргумента и ширина поля, в вызове метода ToString () достаточно указать только спецификатор формата.

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

// Использовать метод ToString() для форматирования значений.

using System;

class ToStringDemo { static void Main() {

double v = 17688.65849; double v2 = 0.15; int x = 21;

string str = v.ToString("F2") ; Console.WriteLine(str);

str = v.ToString("N5");

Console.WriteLine(str);

str = v.ToString("e");

Console.WriteLine(str);

str = v.ToString("r");

Console.WriteLine(str);

str = v2.ToString("p");

Console.WriteLine(str);

str = x.ToString("X");

Console.WriteLine(str);

str = x.ToString("D12"); Console.WriteLine(str);

str = 189.99.ToString("C"); Console.WriteLine(str);

}

}

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

Несмотря на всю полезность предопределенных спецификаторов формата числовых данных, в C# предоставляется также возможность определить пользовательский, т.е. свой собственный, формат, используя средство, называемое форматом изображения. Своим происхождением термин формат изображения обязан тому обстоятельству, что специальный формат пользователь определяет, задавая пример внешнего вида (т.е. изображение) выводимых данных. Такой подход вкратце упоминался в части I этой книги, а здесь он рассматривается более подробно.

Перейти на страницу:
Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.
Комментарии / Отзывы
    Ничего не найдено.