さて、私はちょうど興味を持っています。しかし、数字の部分文字列 (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/y);
最後の z 桁のみを保持する場合:
number = number%(Math.pow(10,z)); // % means modulo
いいえ、ありません。intはプリミティブ データ型です。ただし、1 つのステートメントでニーズを達成できます。
Integer.parseInt(String.valueOf(12345).substring(1, 2))