java将负整数转换为双精度会产生错误的结果

ktecyv1j  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(293)

我在试着 IntegerDouble 但是java给了我错误的结果,我相信是由于溢出。

Integer ii = -123456789;
Double dd = ii.DoubleValue();
System.out.println(dd);

我希望收到-123456789.0,但我得到的却是-1.23456789e8。
有没有办法去掉小数,在整数部分增加一点范围?或者其他更大范围的数据类型?
im转换来自另一种语言的代码,允许使用相同数量的可变字节。

r7xajy2e

r7xajy2e1#

而不是 double 尝试 BigDecimal ```
Integer ii = -123456789;
BigDecimal dd = new BigDecimal(ii);
System.out.println(dd);

相关问题