--- old/src/java.base/share/classes/java/text/NumberFormat.java 2017-08-28 12:19:51.722155839 +0530 +++ new/src/java.base/share/classes/java/text/NumberFormat.java 2017-08-28 12:19:51.426155839 +0530 @@ -181,6 +181,18 @@ * The subclass may provide its own implementation and specification about * {@code NullPointerException}. * + * @implSpec + *

+ * {@code NumberFormat} provides rounding modes defined + * in {@link java.math.RoundingMode} for formatting numbers. By default, + * it uses the {@linkplain java.math.RoundingMode#HALF_EVEN + * round half-even algorithm}. To change the rounding mode use + * {@link #setRoundingMode(java.math.RoundingMode) setRoundingMode}. + * The {@code NumberFormat} returned by the static factory methods is + * configured to round floating point numbers using half-even + * rounding (see {@link java.math.RoundingMode#HALF_EVEN + * RoundingMode.HALF_EVEN}) for formatting. + * * @see DecimalFormat * @see ChoiceFormat * @author Mark Davis --- old/src/java.base/share/classes/java/util/Formatter.java 2017-08-28 12:19:52.538155839 +0530 +++ new/src/java.base/share/classes/java/util/Formatter.java 2017-08-28 12:19:52.250155839 +0530 @@ -1229,7 +1229,7 @@ * than the number of digits which would appear after the decimal point in * the string returned by {@link Float#toString(float)} or {@link * Double#toString(double)} respectively, then the value will be rounded - * using the {@linkplain java.math.BigDecimal#ROUND_HALF_UP round half up + * using the {@linkplain java.math.RoundingMode#HALF_UP round half up * algorithm}. Otherwise, zeros may be appended to reach the precision. * For a canonical representation of the value, use {@link * Float#toString(float)} or {@link Double#toString(double)} as @@ -1298,7 +1298,7 @@ * than the number of digits which would appear after the decimal point in * the string returned by {@link Float#toString(float)} or {@link * Double#toString(double)} respectively, then the value will be rounded - * using the {@linkplain java.math.BigDecimal#ROUND_HALF_UP round half up + * using the {@linkplain java.math.RoundingMode#HALF_UP round half up * algorithm}. Otherwise, zeros may be appended to reach the precision. * For a canonical representation of the value, use {@link * Float#toString(float)} or {@link Double#toString(double)} as @@ -1461,7 +1461,7 @@ * specified then the default value is {@code 6}. If the precision is * less than the number of digits to the right of the decimal point then * the value will be rounded using the - * {@linkplain java.math.BigDecimal#ROUND_HALF_UP round half up + * {@linkplain java.math.RoundingMode#HALF_UP round half up * algorithm}. Otherwise, zeros may be appended to reach the precision. * For a canonical representation of the value, use {@link * BigDecimal#toString()}. @@ -1524,7 +1524,7 @@ * specified then the default value is {@code 6}. If the precision is * less than the number of digits to the right of the decimal point * then the value will be rounded using the - * {@linkplain java.math.BigDecimal#ROUND_HALF_UP round half up + * {@linkplain java.math.RoundingMode#HALF_UP round half up * algorithm}. Otherwise, zeros may be appended to reach the precision. * For a canonical representation of the value, use {@link * BigDecimal#toString()}.