Integer to Integer Array C # - PullRequest
       6

Integer to Integer Array C #

17 голосов
/ 02 января 2011

Мне пришлось разделить int "123456" каждое его значение на Int [], и у меня уже есть решение, но я не знаю, есть ли лучший способ: Мое решение было:

public static int[] intToArray(int num){
    String holder = num.ToString();
    int[] numbers = new int[Holder.ToString().Length]; 
    for(int i=0;i<numbers.length;i++){
        numbers[i] = Convert.toInt32(holder.CharAt(i));
    }
    return numbers;
}

Ответы [ 12 ]

0 голосов
/ 14 апреля 2018
 private static int[] ConvertIntToArray(int variable)
        {
            string converter = "" + variable;
            int[] convertedArray = new int[converter.Length];
            for (int i=0; i < convertedArray.Length;i++) //it can be also converter.Length
            {
                convertedArray[i] = int.Parse(converter.Substring(i, 1));
            }
            return convertedArray;
        }

Мы получаем int с помощью метода. Затем немедленно преобразуйте его в string (123456 -> «123456»). У нас есть строка с именем converter и значение int. Наша строка имеет string.Length, особенно такую ​​же длину int, поэтому мы создаем array с именем convertedArray, у нас есть длина, то есть длина конвертера (string). Затем мы попадаем в цикл, где преобразуем строку в int один за другим, используя string.Substring(i,1), и присваиваем значение convertedArray[i]. Затем верните convertedArray. В main или любом другом методе, который вы можете легко вызвать.

0 голосов
/ 03 апреля 2018

Вот хорошее решение для преобразования вашего целого числа в массив, то есть: int a = 5478 в int [] Нет проблем, если у вас есть строка и вы хотите преобразовать строку в массив целых чисел, например string str = 4561;// Преобразовать в
массив [0] = 4;
массив [1] = 5;
массив [2] = 6;
массив [3] = 7;

Примечание. Число нулей (0) в делителе равно длине ввода и задайте длину массива в соответствии с длиной ввода
Теперь проверьте кодировку:

         string str=4587;
            int value = Convert.ToInt32(str);
            int[] arr = new int[4];
            int devider = 10000;
            for (int i = 0; i < str.Length; i++)
            {
                int m = 0;
                devider /= 10;
                arr[i] = value / devider;
                m = value / devider;
                value -= (m * devider);
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...