Java如何返回数字的一部分?
我试图返回数字的一部分,如下所示:Java如何返回数字的一部分?,java,Java,我试图返回数字的一部分,如下所示: int foo = 123456789; System.out.println( foo[0-3] ); //123 我还想得到不同索引的数字片段,例如从2到5。在Python中,它非常简单,但出于某种原因,在Java中也不容易做到这一点。foo是一个数字,而不是数组,因此不能对它进行切片。首先需要将其转换为字符串,然后执行子字符串(=字符数组切片): 如果需要再次将其用作数字,则需要将其转换回int: int converted = Integer.pa
int foo = 123456789;
System.out.println( foo[0-3] ); //123
我还想得到不同索引的数字片段,例如从2到5。在Python中,它非常简单,但出于某种原因,在Java中也不容易做到这一点。
foo
是一个数字,而不是数组,因此不能对它进行切片。首先需要将其转换为字符串,然后执行子字符串(=字符数组切片):
如果需要再次将其用作数字,则需要将其转换回int:
int converted = Integer.parseInt(slice);
您可以将int转换为字符串,将其子字符串化,然后再次将其解析为整数:
int foo = 123456789;
String foorStr = Integer.toString(foo);
String fooSubstr = foo.substring(0, 3); //the last index is exclusive
int fooParted = Integer.parseInt(fooSubstr);
int v=123456;
System.out.println(String.valueOf(v).substring(1,3)) 已经有一个方法parseInt
适合于此。它采用字符串值、起始位置、结束位置和基数。您可以通过以下方式使其变得更简单:
System.out.println(getSubNumber(123456789, 2,6));
public static int getSubNumber(int value, int start, int end) {
return Integer.parseInt(Integer.toString(value), start, end, 10);
}
印刷品
3456
或者放弃该方法,直接使用Integer.parseInt
。对于长类型,有一个等价的Long.parseLong
。我明白了。数组切片有很多结果,但我认为对于单个整数也会有一些结果。非常感谢。非常有用。谢谢
3456