Java 使用String.format从整数中删除特定数字

Java 使用String.format从整数中删除特定数字,java,string,formatting,string-formatting,number-formatting,Java,String,Formatting,String Formatting,Number Formatting,说我们有一个号码 int number = 1234 我想使用格式将最后两位数字提取为字符串34。如何才能做到这一点 我试图: String extraction = String.format("%d", number) 但这只是复制了整个数字。我对格式化程序使用的语法不太熟悉,似乎无法找出可以放入数字(或字符串)字符内部并将其取出的语法。我已经找到了一个使用charAt方法的解决方案,但我特别好奇是否可以使用格式化技术来实现它。通过字符串来提取整数的最后两位是低效的,并且没有必要提取整数

说我们有一个号码

int number = 1234
我想使用格式将最后两位数字提取为字符串
34
。如何才能做到这一点

我试图:

String extraction = String.format("%d", number)

但这只是复制了整个数字。我对格式化程序使用的语法不太熟悉,似乎无法找出可以放入数字(或字符串)字符内部并将其取出的语法。我已经找到了一个使用
charAt
方法的解决方案,但我特别好奇是否可以使用格式化技术来实现它。

通过
字符串
来提取整数的最后两位是低效的,并且没有必要提取整数的最后两位

简单地说:

int lastTwoDigits = number % 100;
如果要通过
字符串
,可以使用:

String s = Integer.toString(number);
s = s.substring(s.length() - 2);
int lastTwoDigits = Integer.parseInt(s);

(请注意,此方法处理-ve数字的方式与第一个建议略有不同)。

字符串方法是否假定数字是大于
10的正整数?
?只有当数字至少有两位时,“数字的最后两位”的概念才有意义。负数的处理没有定义。这些都是真正的案例,应该由OP决定如何处理。谢谢。在我看来,使用格式化技术提取字符串/整数的某些部分是不可能的