java - 尽管变量的类型被声明为 double ,为什么 java 会给出一个 int too large 错误?

标签 java

Java 为我的代码的相应行提供了整数太大 错误消息,我将在代码的相应段中用 ***** 表示:

...

if (input.hasNextDouble()) {
    double number = input.nextDouble();
    if (number >= 10000000000) //***** {
        System.out.print("The number is greater than 10 billion!");
    }
}

...

我以为double类型可以记录15位左右的十进制数字。你能告诉我发生了什么事吗?

最佳答案

Java 提示源代码中的实际数字,即整数 literal,而不是您为其选择的存储位置(这将需要自动转换)。由于该语言表示任何无后缀的数字都被解释为 int,因此您需要为希望该文字具有的类型添加后缀,例如 d:

 number >= 10000000000D

关于java - 尽管变量的类型被声明为 double ,为什么 java 会给出一个 int too large 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52640916/

相关文章:

java - @NamedQuery 将表/列名称更改为大写导致异常

java - Matlab:使用 spmd 中的第三方 java 类

java - Hibernate/JPA 可以使用 "update without select"吗?

java - 如果不存在则插入?

java - 自动在外部存储字符串数据供以后在 Java 中使用

java - 使用 JavascriptExecutor 检查页面源时出现空指针异常

java - Gradle -> 如何从 WEB-INF/lib 中省略一些 jar

java - java中使用nio包的socketChannel可以从客户端套接字中获取的最大数据大小

java - 试图了解 gradle 和 maven 实际上做了什么

java - 初始化新节点