我基本上是在玩数据类型来学习java,这就是我感到困惑的地方。
double douVar = 30000000000.323262342134353;
int intVar = (int)douVar; // casting
System.out.println(intVar);
现在将 douVar
转换为字符串,我覆盖 double
变量:
douVar = 345839052304598; // returns an error: Integer number too long
System.out.println(Double.toString(douVar));
完全错误:
Error:(20, 18) java: integer number too large: 345839052304598
我正在使用 IntellijIDEA 编译器。我没有在 eclipse 上尝试这个,但我认为编译器不会有太大不同。 这是否意味着转换也会导致原始变量被修改?
最佳答案
在 Java 中,不带小数的常量默认为整数。 有两种方法可以将常量定义更改为 double :
- 在末尾添加
d
或D
。 - 在末尾添加
.0
douVar = 345839052304598d;
douVar = 345839052304598.0;
关于java - double 值足够大会在 Java 中返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25094642/