使用 String.format 从整数中删除特定数字
Posted
技术标签:
【中文标题】使用 String.format 从整数中删除特定数字【英文标题】:Using String.format to remove particular digits from an integer 【发布时间】:2017-11-10 11:59:11 【问题描述】:假设我们有一个数字
int number = 1234
我想使用格式将最后两位数字提取为字符串34
。如何做到这一点?
我尝试过:
String extraction = String.format("%d", number)
但这只是复制整个数字。我对格式化程序使用的语法不熟悉,似乎无法弄清楚可以进入数字字符(或字符串,就此而言)并将它们拉出来的语法。我找到了使用charAt
方法的解决方案,但我特别好奇是否可以使用格式化技术来完成它。
【问题讨论】:
【参考方案1】:通过String
提取整数的最后两位数字效率低且不必要。
简单地说:
int lastTwoDigits = number % 100;
如果你确实想通过String
,你可以使用:
String s = Integer.toString(number);
s = s.substring(s.length() - 2);
int lastTwoDigits = Integer.parseInt(s);
(请注意,这处理 -ve 数字与第一个建议略有不同)。
【讨论】:
String
方法是否假定该数字是大于10
的正整数?
“数字的最后两位数字”的概念只有在该数字至少有两位数字时才真正有意义。并且没有定义负数的处理。这些确实是应该由 OP 决定如何处理的案例。
谢谢。在我看来,使用格式化技术来提取字符串/整数的某些部分是不可能的以上是关于使用 String.format 从整数中删除特定数字的主要内容,如果未能解决你的问题,请参考以下文章