
Описатель формата помещается в фигурные скобки и имеет структуру:
"{<Номер вывода>,<Число позиций>:<Буква>d}"
Пример 1. Если указывается только номер вывода, то выводимые не строковые данные форматируются по умолчанию. Строка кода:
Console.WriteLine("p={0}",p); даст результат p=2,8322092165912
Пример 2. Выводятся значения x, y (номера вывода 0 и 1), формат по умолчанию.
Console.WriteLine("x = {0} y = {1}", x, y); x=-2,1548 y=15,125
Пример 3. Выводится значение x (номер вывода 0), под число отводится 8 позиций, используется денежный формат (буква C).
Console.WriteLine("x
= {0,8:C}",
x);
Пример 4. Выводится значение z (номер вывода 0), используется экспоненциальный (научный) формат (буква E – 6 символов после запятой).
Console.WriteLine("z
= {0:E}", z);
Пример 5. Выводятся значения x, y (номера вывода 0 и 1), под числа отводится 5 позиций, используется фиксированный формат (буква F – 2 символа после запятой).
Console.WriteLine("y={0,5:f}
p={1,5:f}", y, p);
Пример 6. Выводится значение s (номер вывода 0) по шаблону. При отображении числа отводится 1 позиция для целой и 3 позиции для дробной части числа.
Console.WriteLine("s= {0:#.###}", s); s= 7,825
Имеется набор стандартных форматов. Синтаксис записи формата:
<Буква описания формата>d.
Описатель формата - это алфавитный символ, определяющий строковое представление объекта, к которому он применяется. Также строка формата может содержать необязательный описатель точности d, определяющий, сколько цифр отображается в результирующей строке. Если спецификаторы пропускаются, то используются их значения по умолчанию. Предусмотрены следующие форматы:
Буква (загл/стр) |
Формат |
Примеры |
d по умолч. |
G g |
Общий |
-123.456 -> -123.456 |
Факт |
F f |
Фиксированная запятая |
1234.569 -> 1234.57 |
2 |
N n |
Число |
1234.569 -> 1,234.57 Запятая разделяет группы |
2 |
E e |
Экспоненциальный (научный) |
1052.0329112756 -> 1.052033E+003 |
6 |
D d |
Десятичный |
-1234 ("D6") -> -001234 |
Мин. |
C c |
Валюта |
123.458 -> $123.46 Используются символы валют |
2 |
P p |
Проценты |
1 -> 100.00 % |
2 |
При вводе и выводе информации в языке С# используются функции преобразования:
Функция |
Значение |
Convert.ToDouble(s)
Convert.ToInt16(s) Convert.ToChar(q)
S.ToString() int.Parse( s) double.Parse(s) String.Format(s,x) |
Вещественное число, изображением которого является строка s Целое, изображением которого является строка s Код символа, изображением которого является символ q
Строка, являющаяся изображением вещественного s Целое, изображением которого является строка s Вещественное, изображением которого является строка s Вещественное x, изображением которого является строка s в форматном выводе числа |
Например, под Консольное приложение:
x = Convert.ToDouble(Console.ReadLine()); //вещественный тип
d = Convert.ToInt16(Console.ReadLine()); //целый тип
z = Convert.ToInt32(Console.ReadLine()); //целый тип
ch=Convert.ToChar(Console.ReadLine()); //символьный тип
Console.WriteLine("x={0,3:f} y={1,5:f}", x, y); //форматный вывод переменных х и у,
// где 0 и 1 номера вывода, 3 и 5 – количество выводимых символов,
// f – два символа после запятой
Например, под Оконное приложение
int а = int.Parse(textBox1.Text); //преобразование текста, введенного
// в textBox1 в целое число
double b = double.Parse(textBox1.Text); //преобразование текста, введенного
// в textBox1 в вещественное число
label3.Text = S.ToString()+ " руб."; // преобразование числа S в строку
label1.Text =String.Format(“{0:f 3}”,x); // преобразование числа x в строку c форматным выводом символов в компонент label1 через его свойство Text,
где 0 – индекс переменной, f – мантисса, 3 – количество символов после зпт.
label1.Text =String.Format(“{0,5:f 2}”,x); // преобразование числа x в строку c форматным выводом символов в компонент label1 через его свойство Text,
где 0 – индекс переменной, 5 – количество выводимых символов, f – мантисса, 2 – количество символов после зпт.