返回整数的第一位数字

新手上路,请多包涵

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

IE

345

返回 3 的整数。

原文由 Tony 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 525
1 个回答

最简单 的方法是使用 String.valueOf(Math.abs((long)x)).charAt(0) - 这将为您提供 char 1 。要将其作为整数值,您只需减去“0”(因为在 Unicode 中,“0”到“9”是连续的)。

当然,这有点浪费。另一种方法是取绝对值,然后循环除以 10,直到数字在 0-9 范围内。如果这是家庭作业,这就是我要给出的答案。但是,我不会为其提供代码,因为我认为这 可能 是家庭作业。但是,如果您提供评论并编辑您的答案以解释您的做法和遇到的问题,我们可能会提供帮助。


1需要注意的一个棘手问题是 Integer.MIN_VALUE 的绝对值不能表示为 int - 因此您可能应该先转换为 long 然后使用 Math.abs然后 做算术。这就是为什么那里有演员表的原因。

原文由 Jon Skeet 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题