我基本上是为了学习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中,默认情况下,不带小数的常数为int。
有两种将常量定义更改为双精度的方法:
最后添加d
或D
。
在末尾添加.0
douVar = 345839052304598d;
douVar = 345839052304598.0;