-6

私のプロジェクトの 1 つで、文字列を整数に変換する必要があります。"16:45:20"Javaで文字列を整数に変換する方法. 私は使っている

int time = Integer.parseInt(string)

それは私にエラーを与えていNumberFormatExceptionます。これを解決する方法

4

7 に答える 7

2

何を返してほしいですか?タイムスパンの秒数? それとも、これは 24 時間形式の時間ですか? 入力文字列の例から得られると予想される整数は何ですか? 数字を整数としてだけしたい場合は、文字列をコロンで分割してから連結してから、int を解析する必要があります。

于 2012-11-30T04:25:26.813 に答える
1

"16:45:20"は有効な整数ではないため、整数に直接変換することはできません

:区切り記号に基づいて分割する必要がある場合があります

次にループしString[]て、それぞれを対応する int に変換します。

3 つの個別の int 16,45,20 を取得します。

String[] tempArr = str.split(":");
int val1 = Integer.valueOf(tempArr[0]);
于 2012-11-30T04:19:29.903 に答える
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]);
于 2012-11-30T04:41:23.737 に答える
0

最初に文字列を「:」で分割してから、文字列に追加する必要があります

于 2012-11-30T04:20:52.703 に答える
0

コードの下の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);
于 2012-11-30T04:22:01.850 に答える
0

「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]);
于 2012-11-30T04:33:07.787 に答える