Добавление пробелов в строку в C # - PullRequest
1 голос
/ 13 декабря 2011

У меня есть этот код

String coNum = customerOrderLine.coNum.PadLeft(10 - customerOrderLine.coNum.Length);

Я знаю, что customerOrderLine.coNum = "123456" Так что в итоге у coNum должно быть 4 пустых пространства впереди, но в итоге я получу "123456". Как это исправить? Я попытался PadRight на случай, если это было ошибкой, и она также не работала. У меня должно быть 4 пустых места в начале, чтобы передать его в API, над которым я работаю, иначе оно не будет работать.

Ответы [ 3 ]

5 голосов
/ 13 декабря 2011

PadLeft принимает общую длину в качестве параметра, поэтому я думаю, что вы хотите

String coNum = customerOrderLine.coNum.PadLeft(10);
1 голос
/ 13 декабря 2011

Это потому, что вы неправильно указали параметр totalWidth метода Pad *.Из документов:

Количество символов в результирующей строке, равное количеству оригинальных символов плюс любые дополнительные символы заполнения. [...] Если totalWidth равен длине этого экземпляра,метод возвращает новую строку, идентичную этому экземпляру.

0 голосов
/ 13 декабря 2011

PadLeft не указывает символ по умолчанию для пэда; Ваш второй аргумент должен быть символом, используемым для пэда, то есть ::1003*

String coNum = customerOrderLine.coNum.PadLeft(10, ' ');

Редактировать: также первый аргумент должен быть общей требуемой длины, а не количеством добавляемых символов пэда, согласно ответу @ Мэтью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...