Java 如何将字符串转换为int?
这里的代码,我试图转换分钟,这是字符串类型,整数类型,但我有NumberFormatException错误,任何人都可以帮助我,我如何处理这种情况。谢谢Java 如何将字符串转换为int?,java,string,int,numberformatexception,minute,Java,String,Int,Numberformatexception,Minute,这里的代码,我试图转换分钟,这是字符串类型,整数类型,但我有NumberFormatException错误,任何人都可以帮助我,我如何处理这种情况。谢谢 import java.util.Date; class DateDemo { public static void main(String args[]) { // Instantiate a Date object Date date = new Date(); //
import java.util.Date;
class DateDemo
{
public static void main(String args[])
{
// Instantiate a Date object
Date date = new Date();
// display time and date
String str = String.format("Current Minutes : %tM", date );
try
{
int a = Integer.valueOf(str);
System.out.print(a);
}
catch(NumberFormatException e)
{
System.out.println("Error is : "+e);
}
}
}
使用
出现异常是因为您试图将字符串“当前日期/时间:xx”转换为数字
LocalTime now = LocalTime.now(ZoneId.of("Indian/Mahe"));
int currentMinuteOfHour = now.getMinute();
System.out.println(currentMinuteOfHour);
在我的电脑上,这个刚刚打印出来
五十三
无需将分钟格式化为字符串并重新解析
另外,Date
类早已过时(没有双关语)。最好使用java.time
,现代java日期和时间API。和你一起工作真是太好了。正如您所看到的,它提供了更简单的代码
当前分钟取决于时区。因此,请提供我放置印度语/马来语的预期时区。您可以使用当前的JVM时区设置:ZoneId.systemDefault()
。程序的其他部分或在同一JVM中运行的其他程序可能随时更改该设置
你的代码出了什么问题?您的String.format()
调用生成的字符串类似于当前分钟数:43
。这不符合整数的语法(43
单独使用就可以)。因此,尝试使用Integer.valueOf(str)
解析它时出现异常
教程链接:解释如何使用
java.time
这不是获得分钟数的正确方法。如果您使用的是Java8或更高版本,您可以这样做以获得分钟
LocalDateTime localDateTime=LocalDateTime.now();
System.out.println(localDateTime.getMinute());
您希望从
“当前日期/时间”
中获得什么号码?预期结果是什么?在您尝试解析字符串str时,字符串str的值是多少?我遇到了以下错误:java.lang.NumberFormatException:对于输入字符串:“当前日期/时间:43”,实际上我希望程序将字符串“43”转换为整数类型。@PatrickNijhuis 50它可以工作,谢谢这是正确的解决方案。当您添加到编程项目中时,它在Java6和Java7中也可以工作。我理解,感谢您提供链接。;)
LocalDateTime localDateTime=LocalDateTime.now();
System.out.println(localDateTime.getMinute());