在java中有math.substring这样的东西吗?

时间:2012-11-15 01:41:44

标签: java math int substring

好的,我只是好奇。但是我想知道是否存在数字的子串(math.substring?),然后它会将字符放在指定的位置。

示例(真的很难想到)

int number = 5839;
int example = number.substring(0,1)
println = example;

然后显示5?

5 个答案:

答案 0 :(得分:3)

为什么不将它转换为字符串,然后调用substring(0,1)?...

int number = 5839;
int example = Integer.parseInt((number+"").substring(0,1));

调用number+""会导致JVM将其转换为String,然后在其上调用substring()。然后,您最终将其解析回int

答案 1 :(得分:2)

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));
}

答案 2 :(得分:2)

不,没有。但您可以将整数转换为字符串并获取子字符串并再次解析为整数

答案 3 :(得分:2)

没有这样的事情,但你可以做到以下几点:

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

答案 4 :(得分:1)

不,没有。 int 是原始数据类型。但是,您可以通过一个声明来满足您的需求。

Integer.parseInt(String.valueOf(12345).substring(1, 2))