Перевод чисел в денежную валюту (Currency). Результат зависит от региональных настроек операционной системы:
double number1 = 45.7;
string currency1 = number1.ToString("c"); // Значение: 47,70р. или $47.70 и т.д.
double number2 = 45.74;
string currency2 = number2.ToString("c3"); // Значение: 45.745р. или $47.745 и т.д.
Отображение разрядов у целочисленного числа (Digital)
int number = 45;
string digits = number.ToString("d"); // Значение: "45"
int number2 = -136;
string digits2 = number2.ToString("d6"); // Значение: "-000136"
Отображение чисел после плавающей точки (Fixed-point)
double number1 = 45.123;
string float1 = number1.ToString("f"); // Значение: "45,12" (рус)
double number2 = -45.1;s
tring float2 = number2.ToString("f3"); // Значение: "-45,100" (рус)
Отображение разделителей групп (Number)
double number = -55645.1;
string group = number.ToString("n"); // Значение: "-55 645,10" (рус)
Отображение процентов (Percent)
double number1 = 0.45;
string percent1 = number1.ToString("p"); // Значение: "45,00%" (рус)
double number2 = -0.451;
string percent2 = number2.ToString("p1"); // Значение: "-45,1%" (рус)
Отображение целочисленного значения в 16-разрядной системе (Hexademal)
int number1 = 255;
string hex1 = number1.ToString("x"); // Значение: "ff"
int number2 = 255;
string hex2 = number2.ToString("X"); // Значение: "FF"
int number3 = 255;
string hex3 = number3.ToString("X8"); // Значение: "000000FF"
Кроме этого можно управлять форматом чисел:
i.ToString("00");
Это значит что например чило "5" будет представлено как "05".
Таблица с MSDN в которой представлены форматы:
Описатель формата
|
Имя
|
Описание
|
Примеры
|
"0"
|
Знак-заместитель нуля
|
Заменяет ноль соответствующей цифрой, если такая имеется. В противном случае в результирующей строке будет стоять ноль.
Дополнительные сведения: Настраиваемый описатель "0".
|
1234.5678 ("00000") -> 01235
0.45678 ("0.00", en-US) -> 0.46
0.45678 ("0.00", fr-FR) -> 0,46
|
"#"
|
Заместитель цифры
|
Заменяет знак "#" соответствующей цифрой, если такая имеется. В противном случае в результирующей строке цифра стоять не будет.
Дополнительные сведения: Настраиваемый описатель "#".
|
1234.5678 ("#####") -> 1235
0.45678 ("#.##", en-US) -> .46
0.45678 ("#.##", fr-FR) -> ,46
|
"."
|
Разделитель
|
Определяет расположение разделителя целой и дробной частей в результирующей строке.
Дополнительные сведения см. в разделе Настраиваемый описатель ".".
|
0.45678 ("0.00", en-US) -> 0.46
0.45678 ("0.00", fr-FR) -> 0,46
|
","
|
Разделитель групп и масштабирование чисел
|
Служит в качестве описателя разделителя групп и описателя масштабирования чисел. В качестве разделителя групп вставляет локализованный символ-разделитель групп между всеми группами. В качестве описателя масштабирования чисел делит число на 1000 для всех указанных запятых.
Дополнительные сведения: Настраиваемый описатель ",".
|
Описатель разделителя групп:
2147483647 ("##,#", en-US) -> 2,147,483,647
2147483647 ("##,#", es-ES) -> 2.147.483.647
Описатель масштабирования:
2147483647 ("#,#,,", en-US) -> 2,147
2147483647 ("#,#,,", es-ES) -> 2.147
|
"%"
|
Заместитель процентов
|
Умножает число на 100 и вставляет локализованный символ процента в результирующую строку.
Дополнительные сведения: Настраиваемый описатель "%".
|
0.3697 ("%#0.00", en-US) -> %36.97
0.3697 ("%#0.00", el-GR) -> %36,97
0.3697 ("##.0 %", en-US) -> 37.0 %
0.3697 ("##.0 %", el-GR) -> 37,0 %
|
"‰"
|
Местозаполнитель промилле
|
Умножает число на 1000 и вставляет локализованный символ промилле в результирующую строку.
Дополнительные сведения: Настраиваемый описатель "‰".
|
0.03697 ("#0.00‰", en-US) -> 36.97‰
0.03697 ("#0.00‰", ru-RU) -> 36,97‰
|
"E0"
"E+0"
"E-0"
"e0"
"e+0"
"e-0"
|
Экспоненциальная нотация
|
Если за этим описателем следует по меньшей мере один ноль (0), результат форматируется с использованием экспоненциальной нотации. Регистр ("E" или "e") определяет регистр символа экспоненты в результирующей строке. Минимальное число цифр экспоненты определяется количеством нулей, стоящих за символом "E" или "e". Знак "+" указывает на то, что перед экспонентой всегда должен ставиться символ знака. Знак "-" указывает на то, что символ знака должен ставиться только в случае, если экспонента имеет отрицательное значение.
Дополнительные сведения: Настраиваемые описатели "E" и "e".
|
987654 ("#0.0e0") -> 98.8e4
1503.92311 ("0.0##e+00") -> 1.504e+03
1.8901385E-16 ("0.0e+00") -> 1.9e-16
|
\
|
Escape-символ
|
Указывает на то, что следующий за ним символ должен рассматриваться как литерал, а не как описатель настраиваемого формата.
Дополнительные сведения: Escape-символ "\".
|
987654 ("\###00\#") -> #987654#
|
'строка'
"строка"
|
Разделитель строк-литералов
|
Указывает на то, что заключенные в разделители символы должны быть скопированы в результирующую строку без изменений.
|
68 ("# ' градусов'") -> 68 градусов
68 ("#' градусов'") -> 68 градусов
|
;
|
Разделитель секций
|
Определяет секции с раздельными строками формата для положительных чисел, отрицательных чисел и нуля.
Дополнительные сведения: Разделитель секций ";".
|
12.345 ("#0.0#;(#0.0#);-\0-") -> 12.35
0 ("#0.0#;(#0.0#);-\0-") -> -0-
-12.345 ("#0.0#;(#0.0#);-\0-") -> (12.35)
12.345 ("#0.0#;(#0.0#)") -> 12.35
0 ("#0.0#;(#0.0#)") -> 0.0
-12.345 ("#0.0#;(#0.0#)") -> (12.35)
|
Другой
|
Все остальные символы
|
Символ копируется в результирующую строку без изменений.
|
68 ("# °") -> 68 °
|
Подробнее:
http://msdn.microsoft.com/ru-ru/library/0c899ak8.aspx
http://dotnetways.com/sharpbook/tostring/