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