好吧,我只是好奇。但是我想知道是否有数字的子字符串(math.substring?),然后它会在指定位置获取字符。在java中有math.substring吗?
实施例(真未经深思熟虑一个)
int number = 5839;
int example = number.substring(0,1)
println = example;
然后显示5?
好吧,我只是好奇。但是我想知道是否有数字的子字符串(math.substring?),然后它会在指定位置获取字符。在java中有math.substring吗?
实施例(真未经深思熟虑一个)
int number = 5839;
int example = number.substring(0,1)
println = example;
然后显示5?
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));
}
你为什么不只是把它转换为字符串,然后调用substring(0,1)
...
int number = 5839;
int example = Integer.parseInt((number+"").substring(0,1));
调用number+""
会导致JVM将其转换为String
,然后调用substring()
。然后你最终解析回int
您在这里缺少括号:((数字+“”)。子(0,1)); –
是否需要括号?我知道JVM在它试图调用'substring()'之前首先评估'+“”',将它转换为一个String。当然,括号不会伤害:-) – wattostudios
直到那天我意识到我不是,我仍然处于相同的印象之下。尝试运行它。它会给你一个错误。 –
不,没有。但你可以在整数可能转换为字符串,并得到串并再次解析回到整数
没有有没有这样的事情,但你可以做到以下几点:
String s = ""+number; //You can now use the Substring method on s;
或者,如果你只是想删除的最后一个Y位:
number = (int)(number/y);
如果你想只保留最近ž数字的
:
number = number%(Math.pow(10,z)); // % means modulo
不,没有。 int是一种原始数据类型。然而,你可以用一个陈述完成你的需要。
Integer.parseInt(String.valueOf(12345).substring(1, 2))
然后,您必须将'String'解析回'int'。 – Doorknob
承认我的疏忽。感谢您指出。 –
不,没有。 –
为什么你不使用舍入函数?在这个例子中,'floor'后面除以1000将会给你5 – ChrisW
@ChrisW它不会用于四舍五入:p我应该已经指定了,它将用于比较数字。我应该指出这一点。 – Kalvin