Как добавить "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());