如何从整数中提取单个数字

Dae*_*ric 1 java

我目前正在尝试从整数(大于1位)中提取单个数字(int),但我无法在这个问题上找到任何帮助.

例如:

  • 从123456得到3分

要么

  • 从1257848得到4分

我怎么用Java做这个?

Rah*_*thi 5

试试这个:

String.valueOf(Math.abs((long)x)).charAt(0)
Run Code Online (Sandbox Code Playgroud)

或做一些计算

 int x= Integer.parseInt(Integer.toString(123456).substring(0, 1));
Run Code Online (Sandbox Code Playgroud)

要么

int digit(int x) {
    while (x > 9) {
        x /= 10;
    }
    return x;
}
Run Code Online (Sandbox Code Playgroud)

  • @Daedric感谢答案,这是一个有效的解决方案.如果你不想使用字符串,那么你将不得不使用一些数学. (3认同)
  • @RahulTripathi,如果第二种方法效果很好,那就更有吸引力了. (2认同)