convert int to string and then...

	unsigned long number = 123662012;     // assign the value you need to number
	byte n[10];                           // to keep results 10 digits max
	byte i = 0;                           // to index array
       while (number)
        {
		n[i] = number % 10;
		number /= 10;
		i++;
	}

A different approach that came to me. This will store the digits from a number as elements of array n[] from least to most significant. It simply uses modulo to get the current ones digit then uses divide to drop that digit. When the loop runs out of number n[] contains the digits and i has the count and number is gone so save it you don't want to lose it.

Obviously only works on integers and the size is only limited by the size of array n[].