如何返回整数的第一个数字?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (41)

在Java中,如何返回整数的第一个数字?

E.

三百四十五

返回3的整数。

提问于
用户回答回答于

还有另一种方式:

public int firstDigit(int x) {
  if (x == 0) return 0;
  x = Math.abs(x);
  return (int) Math.floor(x / Math.pow(10, Math.floor(Math.log10(x))));
}
用户回答回答于

最简单方法是使用String.valueOf(Math.abs((long)x)).charAt(0)-这会让你成为char1。要将其作为整数值,只需减去‘0’(如Unicode中的‘0’到‘9’是连续的)。

当然,这有点浪费。另一种方法就是取绝对值,然后循环整圈除以10,直到数字在0-9的范围内。如果这是家庭作业,那就是我的答案。但是,我不会为它提供代码,因为我认为强权做作业。然而,如果你提供评论和编辑你的答案来解释你是怎么做的,你遇到了什么问题,我们也许能帮上忙。

值得注意的一点是,Integer.MIN_VALUE不能表示为int-所以可以首先转换为long,然后使用Math.abs。

扫码关注云+社区