Double c = 18000000000000000D + 10;
Double d = 18100000000000000D + 10;
System.out.println(c.longValue());
System.out.println(d.longValue());
如上代码,将输出奇怪的结果,对Java 的double和float不抱希望了。而Math.pow()这个方法输出的是double只有dobule型,计算个次方还要我类型转换吗?!看来只能自己写代码实现了
本文探讨了Java中使用Double类型进行大数值运算时遇到的问题,并通过示例代码展示了精度丢失的现象,提出了对于内置数学函数Math.pow()使用的疑问。
1万+

被折叠的 条评论
为什么被折叠?



