两种方法:
- 利用除法截去数字右边多余位数,取余截取数字最右一位数字
举例:数字12345有5位,如果想取第3位数字,12345/pow(10,5-3)得到123,123%10得到最右一位数字3.
int findNthDigit(int number, int n)
{
int digit = 1; //数位
int temp = number;
while (temp / 10 != 0)
{
temp /= 10;
++digit;
}
return (number/ (int)pow(10, digit - n)) % 10;
}
- 利用数字和字符串的转换
int i = 12345;
int nth = 2;
cout << to_string(i)[nth - 1] - '0'; //打印2