Формат строки до 3-значного числа



вместо того, чтобы делать это, я хотел использовать string.format() для достижения того же результата:



if (myString.Length < 3)
{
myString = "00" + 3;
}
622   8  

8 ответов:

Если вы просто форматируете число, вы можете просто предоставить правильный пользовательский числовой формат чтобы сделать его 3-значной строкой напрямую:

myString = 3.ToString("000");

или, в качестве альтернативы, используйте стандартная строка формата D:

myString = 3.ToString("D3");
 string.Format("{0:000}", myString);

Это называется обивка:

myString.PadLeft(3, '0')

" Как: Pad число с ведущими нулями" http://msdn.microsoft.com/en-us/library/dd260048.aspx

вы также можете сделать : строка.Формат ("{0:D3}, 3);

(пока не могу комментировать с достаточной репутацией, позвольте мне добавить примечание)

на всякий случай, если ваш выход должен быть фиксированной длиной 3-значного, т. е. для числа до 1000 или более (зарезервированная фиксированная длина), не забудьте добавить mod 1000 на нем .

yourNumber=1001;
yourString= yourNumber.ToString("D3");        // "1001" 
yourString= (yourNumber%1000).ToString("D3"); // "001" truncated to 3-digit as expected

образец следа на скрипаче https://dotnetfiddle.net/qLrePt

это должно быть String.Format?

Это похоже на работу для String.Padleft

myString=myString.PadLeft(3, '0');

или, если вы конвертируете непосредственно из int:

myInt.toString("D3");

вот как это делается с помощью Строковой интерполяции C# 7

$"{myString:000}"

Comments

    Ничего не найдено.