私のプロジェクトの 1 つで、文字列を整数に変換する必要があります。"16:45:20"
Javaで文字列を整数に変換する方法. 私は使っている
int time = Integer.parseInt(string)
それは私にエラーを与えていNumberFormatException
ます。これを解決する方法
何を返してほしいですか?タイムスパンの秒数? それとも、これは 24 時間形式の時間ですか? 入力文字列の例から得られると予想される整数は何ですか? 数字を整数としてだけしたい場合は、文字列をコロンで分割してから連結してから、int を解析する必要があります。
"16:45:20"
は有効な整数ではないため、整数に直接変換することはできません
:
区切り記号に基づいて分割する必要がある場合があります
次にループしString[]
て、それぞれを対応する int に変換します。
3 つの個別の int 16,45,20 を取得します。
String[] tempArr = str.split(":");
int val1 = Integer.valueOf(tempArr[0]);
-intに変換する前に、区切り文字としての使用を分割する必要があります。String
:
例えば:
String s = "16:45:20";
String[] arr = s.split(":");
int x = Integer.parseInt(arr[0]);
int y = Integer.parseInt(arr[1]);
int z = Integer.parseInt(arr[2]);
最初に文字列を「:」で分割してから、文字列に追加する必要があります
コードの下のJavaチェックについては、このように変換できます..
public class ConvertStringToInt {
public static void main(String[] args) {
String aString = "78";
int aInt = Integer.parseInt(aString);
System.out.println(aInt);
}
}
他の例
import java.io.*;
import java.lang.*;
public class StringToInt{
public static void main(String[] args)throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter an integer number: ");
String str = bf.readLine();
int i = Integer.parseInt(str);
System.out.println("String: " + str);
System.out.println("Integer: " + i);
}
}
たとえば、次の 2 つの方法があります (違いは戻り値の型にあります)。
Integer x = Integer.valueOf(str);
int y = Integer.parseInt(str);
「16:45:20」は有効な整数ではないため、整数に直接変換することはできません
分割する必要がある場合があります。
この方法を試してください:
String str = "16:45:20";
String[] split = str.split(":");
System.out.println("Hour :========>"+split[0]);
System.out.println("Min :========>"+split[1]);
System.out.println("Sec :========>"+split[2]);
int hour = Integer.valueOf(split[0]);
int Min = Integer.valueOf(split[1]);
int Sec = Integer.valueOf(split[2]);