You can use i % 10 in order to get the last digit of integer.
Then, you can use division by 10 for removing the last digit.
1234567 % 10 = 7 1234567 / 10 = 123456
Here is the code sample:
int value = 601511616; List<int> digits = new List<int>(); while (value > 0) { digits.Add(value % 10); value /= 10; } // digits is [6,1,6,1,1,5,1,0,6] now digits.Reverse(); // Values has been inserted from least significant to the most // digits is [6,0,1,5,1,1,6,1,6] now Console.WriteLine("Count of digits: {0}", digits.Count); // Outputs "9" for (int i = 0; i < digits.Count; i++) // Outputs "601,511,616" { Console.Write("{0}", digits[i]); if (i > 0 && i % 3 == 0) Console.Write(","); // Insert comma after every 3 digits }
IDEOne working demonstration of List and division approach.
Actually, if you don't need to split it up but only need to output in 3-digit groups, then there is a very convenient and proper way to do this with formatting.
It will work as well :)
int value = 601511616; Console.WriteLine("{0:N0}", value); // 601,511,616 Console.WriteLine("{0:N2}", value); // 601,511,616.00
IDEOne working demonstration of formatting approach.