好的,我很好奇。但是我想知道是否有数字的子字符串(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
。
+""
,将其转换为字符串,然后再尝试调用substring()
。当然,这些括号不会有任何影响 :-) - wattostudiosint 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));
}
int
:) - tckmn目前没有这样的东西,但您可以执行以下操作:
String s = ""+number; //You can now use the Substring method on s;
如果您只想删除最后y位数字:
number = (int)(number/y);
如果您只想保留最后 z 位数字:
number = number%(Math.pow(10,z)); // % means modulo
Integer.parseInt(String.valueOf(12345).substring(1, 2))
floor
函数后除以 1000 就会得到 5。 - ChrisW