Index: src/main/java/java/util/Formatter.java =================================================================== --- src/main/java/java/util/Formatter.java (révision 928562) +++ src/main/java/java/util/Formatter.java (copie de travail) @@ -29,6 +29,7 @@ import java.math.BigDecimal; import java.math.BigInteger; import java.math.MathContext; +import java.math.RoundingMode; import java.nio.CharBuffer; import java.nio.charset.Charset; import java.security.AccessController; @@ -1983,6 +1984,7 @@ this.argument = argument; this.minusSign = decimalFormat.getDecimalFormatSymbols() .getMinusSign(); + decimalFormat.setRoundingMode(RoundingMode.HALF_UP); } void transform(FormatToken aFormatToken, StringBuilder aResult) { Index: src/test/api/common/org/apache/harmony/luni/tests/java/util/FormatterTest.java =================================================================== --- src/test/api/common/org/apache/harmony/luni/tests/java/util/FormatterTest.java (révision 928562) +++ src/test/api/common/org/apache/harmony/luni/tests/java/util/FormatterTest.java (copie de travail) @@ -3302,6 +3302,16 @@ {-98f, "%-+(8.4f", "(98,0000)"}, {-98f, "% 0#(9.8f", "(98,00000000)"}, + // Regression for HARMONY-6486 + {1.25f, "%.1f", "1.3"}, + {1.35f, "%.1f", "1.4"}, + {1.22f, "%.1f", "1.2"}, + {1.27f, "%.1f", "1.3"}, + {-1.25f, "%.1f", "-1.3"}, + {-1.35f, "%.1f", "-1.4"}, + {-1.22f, "%.1f", "-1.2"}, + {-1.27f, "%.1f", "-1.3"}, + {0.000001f, "%f", "0,000001"}, {0.000001f, "%#.3f", "0,000"}, {0.000001f, "%,5f", "0,000001"},