Выбрать главу

Вообще говоря, отформатированное строковое представление отдельного значения может быть получено двумя способами. Один из них состоит в применении метода 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);