java - 强制转换 (int) 无法正常工作

标签 java int double

我初始化了一个 double aMath.pow(10,24) 。 现在我需要转换 double a至 int b :

a = Math.pow(10,24)
int b = (int)a;
System.out.println(a);
System.out.println(b);

系统打印出:

1.0E24
2147483647

这个结果显然是不正确的。

最佳答案

这是因为 Integer 有限制 INT_MAX - 2147483647

关于java - 强制转换 (int) 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34502449/

相关文章:

Java:ObjectOutputStream 存在可序列化问题

java - Java中Stack和Queue实现不同的原因?

python - 楼层划分//vs int() 四舍五入

java - 使用数组进行冒泡排序 alg

c++ - 在 C++ 中计算 double 类型变量的另一种方法?

c - 为什么我们可以对 scanf 和 printf 使用 %d?

java - 即使我创建了该类的对象并调用它,JFrame 也没有显示

java - Eclipse 中的重复大小写错误

python - 格式化连续数字

double - 我应该如何在 OpenCL 中启用 cl_khr_fp64?