【发布时间】:2015-01-15 02:42:24
【问题描述】:
我正在尝试将 Integer 转换为 Double 但 Java 给了我错误的结果,我相信是由于溢出。
Integer ii = -123456789;
Double dd = ii.DoubleValue();
System.out.println(dd);
我希望收到 -123456789.0,但我收到的是 -1.23456789E8。
有没有办法去掉小数以在整数部分获得一点范围?还是范围更大的其他数据类型?
PS。我从另一种语言转换代码,允许使用相同数量的可变字节。
【问题讨论】:
-
定义错误。这些数字有什么区别?
-
嗯,视觉上。我希望小数点打印在正确的位置。我不能在发票上这样打印。
-
您实际上是在投射到
float,这不是一个好主意。 -
这些数字是representing currency吗?
-
我希望你没有使用浮动类型来存储货币金额......
标签: java types integer double overflow