当前位置: 首页 > 知识库问答 >
问题:

如何将字符串转换为int?[复制]

燕宏胜
2023-03-14

这是代码,我正在尝试将分钟数(字符串类型)转换为整数类型,但我有NumberFormatException错误,有人能帮我吗,我如何处理这种情况。谢谢

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);
        }
    }
}

共有3个答案

云炜
2023-03-14

使用

String str = String.format("%tM", date );

出现异常是因为您试图将字符串“当前日期/时间:xx”转换为数字;

拓拔稳
2023-03-14
    LocalTime now = LocalTime.now(ZoneId.of("Indian/Mahe"));
    int currentMinuteOfHour = now.getMinute();
    System.out.println(currentMinuteOfHour);

在我的电脑上刚打印出来

53

无需将分钟格式化为字符串并将其解析回来。

此外,Date类早已过时(没有双关语)。最好使用java.time,这是现代Java日期和时间API。使用它要好得多。正如您所看到的,它提供了更简单的代码。

当前分钟取决于时区。因此,请提供我放置印度人/马埃语的预期时区。您可以使用当前的JVM时区设置:ZoneId。systemDefault()。程序的其他部分或在同一JVM中运行的其他程序可能随时更改该设置。

你的代码出了什么问题?您的字符串。format()调用生成的字符串类似于当前分钟数:43。这不符合整数的语法(43)。因此,您在尝试使用Integer解析它时遇到了异常。值(str)

教程链接:Oracle教程:日期-时间解释如何使用java。时间

甄德寿
2023-03-14

这不是获得分钟数的正确方法。如果您使用的是Java 8或更高版本,您可以这样做以获得分钟

LocalDateTime localDateTime=LocalDateTime.now();
System.out.println(localDateTime.getMinute()); 
 类似资料:
  • 问题内容: 如何在python中将字节字符串转换为int? 这样说: 我想出了一个聪明/愚蠢的方法: 我知道必须有内置的东西或在标准库中可以更简单地执行此操作… 这与转换可以使用int(xxx,16)的十六进制数字字符串不同,但是我想转换一个实际字节值的字符串。 更新: 我有点喜欢James的回答,因为它不需要导入另一个模块,但是Greg的方法更快: 我的骇客方法: 进一步更新: 有人在评论中问导

  • 注意:这个问题包含不建议使用的前1.0代码!不过,答案是正确的。 要在Rust中将转换为,我可以执行以下操作: 我知道如何将转换为的唯一方法是获取其中的一个片段,然后像这样使用: 有没有办法直接将转换为?

  • 我只是无法在c中转换不同的数据类型,我知道c是一种强类型语言,所以我在这里使用了,但我面临一个问题,错误消息是 从“std::string{aka std::basic_string}类型转换为“int”类型的static_

  • 问题内容: 我有一个值,通常是一个数字,但可能是。我想将其除以数字,但是Python提出了: 我该如何解决? 问题答案: 在其中一项评论中,您说: 我以某种方式得到了一个N​​onetype值,它应该是一个int,但是现在它是一个Nonetype对象 如果这是您的代码,请弄清楚当您期望有一个数字时您将如何工作,并阻止 这种 情况的发生。 如果是别人的代码,请使用通常的条件代码找出给出的条件,并确定

  • 如何将转换为Java中的? 我的字符串只包含数字,我想返回它所代表的数字。 例如,给定字符串时,结果应该是数字。

  • 我需要转换存储的字符串, 这里myVar="23,45,64,78"; 我想把它转换成如下的数组, 我怎样才能实现这一点?谢谢