Zero Pad целочисленный массив при печати в текстовое поле

291
KHS

У меня есть массив целых чисел, однако я хочу напечатать их в текстовое поле в моем приложении формы, чтобы они все выглядели одинаково по длине, и это выглядело аккуратно. Как бы я пошел о добавлении нуля в 100 целых чисел, присутствующих в моем массиве (в диапазоне значений от 1 до 1000) и выводе массива с добавлением нуля сразу в текстовое поле?

В настоящее время моя программа будет отображаться как:

1,2,...,1000

Однако я хотел бы иметь возможность сделать это следующим образом:

0001,0002,...,1000,

Код, который я использую для печати в текстовое поле:

`array = new int[1000]; //create an array Random randNum = new Random(); //create an instance of random Number for (int i = 0; i < array.Length; i++) //Generate random array { array[i] = randNum.Next(0, 1000); } SetupLabel.Text = (string.Join(" ", array)); //output all of the array at once as a string` 

Любые идеи очень помогут, спасибо.

0
Без использования моноширинного шрифта у них все равно не будет одинаковых размеров. Daniel B 7 лет назад 0

2 ответа на вопрос

0
Seth

Строки заполнения в .NET Framework

Использование String.PadLeftили (не применимо в вашем примере) String.PadRight. Ваш пример вывода также неверен, так как ваш код будет генерировать список, разделенный пробелами, а не запятыми. Для использования StringPadLeftвам сначала нужно создать промежуточный строковый объект, к которому вы последовательно добавляете номер с добавлением.

0
egray

Другой подход заключается в использовании составного форматирования или интерполяции строк, чтобы выполнить «заполнение нулями» за вас.

 int[] array = new int[1000]; //create an array Random randNum = new Random(); //create an instance of random Number StringBuilder sb = new StringBuilder(); for (int i = 0; i < array.Length; i++) //Generate random array { int r = randNum.Next(0, 1000); sb.Append($","); } SetupLabel.Text = sb.ToString(); 

«: 0000» означает заполнение значения по крайней мере 4 нулями

Похожие вопросы