【发布时间】:2014-09-12 07:35:41
【问题描述】:
我正在尝试使用下面的代码将双精度值格式化为一个小数点,但它会产生两个不同的舍入值。
double d1= 4.55;
double d2= 17.85;
DecimalFormat oneDForm = new DecimalFormat("#.0");
System.out.println(oneDForm.format(d1));
System.out.println(oneDForm.format(d2));
输出: 4.6 17.8(预计 17.9)
但是我想要通过将小数点 17.85 加到 17.9 来进行汇总,如何实现呢?
【问题讨论】:
-
你有完整的代码吗?
-
这是默认行为,四舍五入为偶数;见docs.oracle.com/javase/1.5.0/docs/api/java/math/…
-
是的,我有。公共类测试 { public static void main(String[] args) { double d1= 4.55;双 d2 = 17.85; DecimalFormat oneDForm = new DecimalFormat("#.0"); System.out.println(oneDForm.format(d1)); System.out.println(oneDForm.format(d2)); } }
-
@pujari 我相信以下答案中提供的信息是有效的,但我不知道你不能接受任何答案,所以它可能对不需要花时间查看未答复的人有用像这样的问题。你们不明白。
标签: java format double rounding