好吧,我只是好奇而已。但我想知道是否有数字的子字符串(math.substring?),然后它会在指定的位置获取字符。
示例(确实考虑不周)
int number = 5839;
int example = number.substring(0,1)
println = example;
然后显示5?
为什么不直接将其转换为字符串,然后调用
substring(0,1)
?...
int number = 5839;
int example = Integer.parseInt((number+"").substring(0,1));
调用
number+""
会导致 JVM 将其转换为 String
,然后对其调用 substring()
。然后你最终将它解析回一个 int
int number = 5839;
String numString = Integer.toString(number);
String example = numString.substring(0,1)
int subNum = Integer.parseInt(example);
System.out.println(subNum);
先将其更改为
String
。
这是我写的一个小函数:
public static int intSubstring(int number, int beginIndex, int endIndex) {
String numString = Integer.toString(number);
String example = numString.substring(beginIndex,endIndex)
int subNum = Integer.parseInt(example);
return subNum;
}
或压缩:
public static int intSubstring(int number, int beginIndex, int endIndex) {
return Integer.parseInt((number+"").substring(beginIndex,endIndex));
}
不,没有。但是您可以将整数转换为字符串并获取子字符串,然后再次解析回整数
不,没有这样的事情,但您可以执行以下操作:
String s = ""+number; //You can now use the Substring method on s;
或者如果您只想删除最后 y 位数字:
number = (int)(number/Math.pow(10,y));
如果您只想保留最后的 z 数字:
number = number%(Math.pow(10,z)); // % means modulo
不,没有。 int 是一种原始数据类型。但是,您可以通过一个声明来满足您的需求。
Integer.parseInt(String.valueOf(12345).substring(1, 2))