2010-05-06 2 views
-2

Учитывая следующий код:Пользовательские строки форматирования: ToString ("00")

string istanbul = "523"; 
Convert.ToInt32(istanbul.ToString("00")); 

что делает его возвращение?

+0

@Oded строка Istanbul = "523"; Convert.ToInt32 (istanbul.ToString ("00")); благодаря ! – theklc

+0

Он ничего не возвращает, он даже не компилируется. –

ответ

5

Спецификатор специального формата «0» служит символом нулевого заполнителя. Если форматируемое значение имеет цифру в позиции, где в строке формата появляется нуль, эта цифра копируется в результирующую строку; в противном случае в строке результата появляется нуль. Положение самого левого нуля перед десятичной точкой и самый правый ноль после десятичной точки определяет диапазон цифр, которые всегда присутствуют в результирующей строке.

Спецификатор «00» вызывает округление значения до ближайшей цифры, предшествующей десятичной, где всегда используется округление от нуля. Так, например, форматирование 34,5 с "00" привело бы к значению 35.

"0" Custom спецификатор link text

3

Это не будет даже скомпилировать:

string istanbul = 523 

Вы не можете присвоить номер строковой переменной, как это. Вы также не завершили корректное утверждение с помощью ;.

C# также чувствителен к регистру, поэтому istanbul и Istanbul относятся к различным переменным.

Чтобы ответить на этот вопрос:

523.ToString("00"); // This will evaluate to the string "523" 
Convert.ToInt32("523"); // This will evaluate to the integer 523 

Читайте о custom numeric formatting strings.

+0

и istanbul - это нижний регистр в замедление и используемый капитал – PostMan

+0

@PostMan - я заметил, что сам ... добавил к ответу. – Oded

Смежные вопросы