Параметры функции C# .ToString()

Перевод чисел в денежную валюту (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/

 

Add comment