Java中的字符串到整数转换

时间:2012-11-30 04:18:28

标签: java android

对于我的一个项目,我必须将String转换为整数。如何在java中将"16:45:20"字符串转换为整数。我正在使用

int time = Integer.parseInt(string)

它给了我NumberFormatException错误。如何解决这个问题

7 个答案:

答案 0 :(得分:2)

你想要它返回什么?时间跨度的秒数?或者这是24H格式的时间?您期望从示例输入字符串获得什么整数?如果你只想将数字字符作为整数,那么你需要在字符串上拆分字符串,然后连接它然后解析int。

答案 1 :(得分:1)

您无法直接转换为整数,因为"16:45:20"不是有效整数

您可能需要根据:分隔符

进行拆分

然后遍历String[]并将每个转换为相应的int。

您将获得三个单独的整数16,45,20

String[] tempArr = str.split(":");
int val1 = Integer.valueOf(tempArr[0]);

答案 2 :(得分:1)

如果需要时间,可以使用如下代码:

package stackoverflow.time;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.util.Scanner;
public class JavaTime {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        System.out.printf("Type the hour and press 'Enter': ");
        String time = s.next();
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
        LocalTime localTime = LocalTime.parse(time, formatter);
        System.out.println("The time typed was: " + localTime);
    }
}

答案 3 :(得分:0)

首先需要用“:”拆分字符串然后追加到字符串

答案 4 :(得分: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);
  }
}

例如,这里有两种方式(区别在于返回类型):

Integer x = Integer.valueOf(str);
int y = Integer.parseInt(str);

答案 5 :(得分: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]);

答案 6 :(得分:0)

- 在将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]);