Как добавить "123" в начало строки и разместить ее в 12 символов?

Мне нужно добавить "123" и нули для любой строки, но результирующая строка должна быть ровно 12 символов.

Например:

28431 = 123000028431
987   = 123000000987
2     = 123000000002

Как это сделать в С#?

заблаговременно

Ответы

Ответ 1

Ну, вы могли бы использовать:

string result = "123" + text.PadLeft(9, '0');
Другими словами, разделите задачу на половину одной части, генерируя часть "000028431", "000000987" и т.д., используя string.PadLeft, и другой префикс результата с помощью "123" с использованием простой конкатенации строк.

Нет никаких сомнений в более эффективных подходах, но это то, что я сделал бы, если бы у меня не было веских оснований полагать, что эффективность действительно важна для этой задачи.

Ответ 2

var result = string.Format("123{0}", number.PadLeft(9, '0'));

Ответ 3

Вы можете попробовать:

var str = String.Format("123{0:0#########}", 28431);

или

var str = String.Format("123{0:000000000}", 28431);

Ответ 4

Предполагая, что...

  • Известно, что строки всегда содержат представления десятичных целых чисел.
  • Представленное целое число всегда меньше 10 9.

... вы могли бы сделать это:

(123000000000 + long.Parse(s)).ToString()

Ответ 5

Хорошо, если у вас есть номера менее 1000000000, вы можете просто добавить 123000000000 к каждому номеру.

Ответ 6

попробуйте этот код

            string argString ="28431 ";

            StringBuilder sb =new StringBuilder();
            sb.Append(argString);
            for (int i =  12 -argString.Length-3; i >0 ; i--)
            {
                 sb.Insert(0, "0");              
            }

            string result = string.Format("123{0}",sb.ToString());