Why do these tests behave differently?
public void testRoundFloat() {
final NumberFormat format = NumberFormat.getNumberInstance();
format.setMaximumFractionDigits(2);
format.setMinimumFractionDigits(2);
format.setRoundingMode(RoundingMode.HALF_UP);
assertEquals("102,345.56", format.format(102345.556f));
}
public void testRoundDouble() {
final NumberFormat format = NumberFormat.getNumberInstance();
format.setMaximumFractionDigits(2);
format.setMinimumFractionDigits(2);
format.setRoundingMode(RoundingMode.HALF_UP);
assertEquals("102,345.56", format.format(102345.556d));
}
The first test rounding a float fails because the result of the format is xxx.55, the second test rounding a double succeeds. I am running the tests on Android 4.2.2 (level 17)
Thanks Markus