在数字中的特定数字处查找数字

Suk*_*djf 6 c++ integer numbers digits c++11

我希望在特定索引处显示数字.

假设数字是"123456789",我需要从左边返回位置3的数字.

我应该将此数字转换为字符串并将特定索引处的字符重新转换为整数以获取数字值吗?

在C++中是否有任何内置函数?

Nat*_*ica 5

要获得数字在任意位置的数字,可以使用简单的字符串转换:

int foo = 123456789;
int pos = 3;
// convert to string and use the [] operator
std::cout << std::to_string(foo)[pos - 1];//need to subtract 1 as C++ is 0 index based
Run Code Online (Sandbox Code Playgroud)


Kur*_*urt 1

这应该返回一个数字的第三位数字!

cout << "Enter an integer";
int number;
cin >> number;
int n = number / 100 % 10
Run Code Online (Sandbox Code Playgroud)

或者(对于所有数字):

 int number = 12345;
 int numSize = 5;
for (int i=numSize-1; i>=0; i--) {
  int y = pow(10, i);
  int z = number/y;
  int x2 = number / (y * 10);
  printf("%d-",z - x2*10 );
}
Run Code Online (Sandbox Code Playgroud)

  • 但OP指定他想要从*左*开始的第三个数字,而不是从*右*开始。 (2认同)