Java 7 和 Java 8 之间舍入的不一致是一个错误吗?
我看到Java 7和java 8之间的DecimalFormat
类的舍入不一致。这是我的测试用例:
DecimalFormatTest.java
import java.text.DecimalFormat;
public class DecimalFormatTest {
public static void main(String[] args) {
DecimalFormat format = (DecimalFormat) DecimalFormat.getInstance();
format.setDecimalSeparatorAlwaysShown(true);
format.setMinimumFractionDigits(1);
format.setMaximumFractionDigits(1);
System.out.println(format.format(83.65));
}
}
在 Java(TM) SE 运行时环境(生成 1.7.0_51-b13)中,输出为:
83.6
在 Java(TM) SE 运行时环境(生成 1.8.0-b132)中,输出为:
83.7
这是一个回归错误吗?还是随着Java 8的发布,舍入规则发生了变化?