У меня есть int в .NET / C #, который я хочу преобразовать в специально отформатированную строку.
Если значение равно 1, мне нужна строка быть «001».
10 = «010».
116 = «116».
и т. д.
Я смотрю на форматирование строк, но пока безуспешно. У меня также не будет значений выше 999.
Если мы хотим использовать его в функции с переменным выходом фиксированной длины, то этот подход
public string ToString(int i, int Digits)
{
return i.ToString(string.Format("D{0}", Digits));
}
пробеги на 20% быстрее, чем это
return i.ToString().PadLeft(Digits, '0');
, но если мы хотим также использовать функцию с веревочным входом (например, число HEX), мы можем использовать этот подход:
public string ToString(string value, int Digits)
{
int InsDigits= Digits - value.Length;
return ((InsDigits> 0) ? new String('0', InsDigits) + value : value);
}