对于我的一个项目,我必须将String转换为整数。如何在java中将"16:45:20"
字符串转换为整数。我正在使用
int time = Integer.parseInt(string)
它给了我NumberFormatException
错误。如何解决这个问题
答案 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]);