Get the seventh digit from an integer

.net, algorithm, c#, math

Solution

int getSeventhDigit(int number)
{
    while(number >= 10000000)
        number /= 10;

    return number % 10;
}

This will take the last digit of numbers with 7 or less digits.

For numbers with 8 or more digits, it will divide by 10 until the number is 7 digits long, then take the last digit.

Problem

I have a integer of 10 digits. I need to get the 7th digit of that integer. I have found a mathematical solution to get the first digit of an integer. ``` var myDigit = 2345346792; var firstDigit = Math.Abs(myDigit); while (firstDigit >= 10) { firstDigit /= 10; } ``` How can I get the seventh digit from myDigit? I am trying to avoid casting to string and doing a substring. I would like to see the mathemathical version of getting the seventh digit. Anyone?

Original source