日期:2014-05-20  浏览次数:20647 次

急,java四舍五入问题,在线等!!!!!!!!!!
DecimalFormat test = new DecimalFormat("###.00");
test.format(90.015)) -->90.02
test.format(90.005)) -->90.00
问下这个是什么原因,找了文档,没找到确切说明。

------解决方案--------------------
90.015,90.005用double或者float类型存放在计算机中是不能精确表示的,也就是说90.015的表示值可能比90.015稍微大一点,也有可能小一点;同样90.005的表示值可能比90.005稍微大一点,也有可能小一点
就如你所得的结果90.005的表示值稍微小于90.005
------解决方案--------------------
一个是90.015000000000000568
一个是90.0049999999999954525
所以。。。
------解决方案--------------------
呵呵.......了解了
------解决方案--------------------
JF