对于我的一个项目,我必须将字符串转换为整数。java中如何将"16:45:20"
字符串转换为整数。我在用
int time = Integer.parseInt(string)
它给了我NumberFormatException
错误。如何解决这个问题
你希望它返回什么?时间跨度中的秒数?或者这是 24 小时制的时间?您希望从示例输入字符串中得到什么整数?如果您只想将数字字符作为整数,那么是的,您需要在冒号上拆分字符串,然后将其连接起来,然后解析 int。
您不能直接转换为整数,因为"16:45:20"
它不是有效的整数
您可能需要根据:
分隔符进行拆分
然后循环String[]
并将每个转换为相应的 int。
您将获得三个独立的整数 16,45,20
String[] tempArr = str.split(":");
int val1 = Integer.valueOf(tempArr[0]);
如果您需要获取时间,可以使用如下代码:
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);
}
}
您首先需要用“:”分割字符串,然后附加到字符串
对于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);
您不能直接转换为整数,因为“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]);
-在将其转换为 int 之前,您需要将using作为分隔符进行拆分。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]);