3

さて、私はちょうど興味を持っています。しかし、数字の部分文字列 (math.substring ?) のようなものがあれば、指定された位置に文字が取得されるのではないかと思っていました。

例(非常によく考えられていないもの)

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

すると、5? と表示されます。

4

5 に答える 5

3

それを文字列に変換してから呼び出してみませんsubstring(0,1)か...

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

どこで呼び出すnumber+""と、JVM はそれを に変換し、Stringそれを呼び出しますsubstring()。次に、最終的にそれを解析してint

于 2012-11-15T01:43:55.633 に答える
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));
}
于 2012-11-15T01:43:52.870 に答える
2

いいえ、ありません。ただし、整数を文字列に変換して部分文字列を取得し、再度解析して整数に戻すことができます

于 2012-11-15T01:44:47.720 に答える
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
于 2012-11-15T01:45:52.220 に答える
1

いいえ、ありません。intはプリミティブ データ型です。ただし、1 つのステートメントでニーズを達成できます。

Integer.parseInt(String.valueOf(12345).substring(1, 2))
于 2012-11-15T01:47:51.510 に答える