设置为Double的四舍五入

时间:2013-02-22 10:21:57

标签: java

如何使用1.5设置四舍五入,但我知道我们可以使用1.6执行此操作。请提供指导。 我希望得到双倍的价值,而不是这样的小数点数。 我无法使用1.5的舍入模式。

   double d1 = 1234567812342134.45678567;
   DecimalFormat df = new DecimalFormat(".00000");
   df.setMaximumFractionDigits(5);
   //df.setRoundingMode(RoundingMode.DOWN); 
   System.out.println(df.format(d1));

预期输出 1234567812342134.45678

现在输出: 1234567812342134.50000

1 个答案:

答案 0 :(得分:0)

问题在于您double d1 = 1234567812342134.45678567;

对于double来说,存储到这个准确度太大了,如果你从任一端移除5位数,你将获得你所追求的舍入;您的DecimalFormat相关代码就可以了。