Сумма: 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# предоставляется также возможность определить пользовательский, т.е. свой собственный, формат, используя средство, называемое
Символы-заполнители специального формата числовых данных
