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("форматирующая строка")