I am trying to take a user entered integer (positive or negative) and let them pick a digit position and output the digit at that position.
int findDigAtPos(int number)
{
    int position;
    int result;
    cout << "Enter digit position between 1 and " << std::to_string(number).length() << endl;
    cin >> position;
    while (position < 0 || position > std::to_string(number).length())
    {
         cout << "Enter digit position between 1 and "<< std::to_string(number).length()<<endl;
         cin >> position;
    }
    if (std::to_string(number).length() == 1)
        cout << "Only one digit" << endl;
    number = number / pow(10, (position - 1.0));
    result = number % 10;
    
    return result;
}
This is the code I currently have for the function. However, it outputs the number in reverse. How do I correct the digit position? I thought it didn't even function correctly until noticing it's in reverse order.
 
     
    