import java.text.NumberFormat; public class NumberFormatRounding { public static void main(String[] args) throws Exception{ NumberFormat formatter = NumberFormat.getInstance(); System.out.println(formatter.getMaximumFractionDigits());// 3 System.out.println(formatter.getRoundingMode());// half even Double dob = (Double) formatter.parse("1212.35656"); System.out.println(dob);// output is 1212.35656 String formattedDob = formatter.format(dob.doubleValue()); System.out.println(formattedDob);// output is 1212.357 } }
@Override public int getRoundingMode() { RoundingMode jdkMode = fJdkNfmt.getRoundingMode(); int icuMode = BigDecimal.ROUND_UP; if (jdkMode.equals(RoundingMode.CEILING)) { icuMode = BigDecimal.ROUND_CEILING; } else if (jdkMode.equals(RoundingMode.DOWN)) { icuMode = BigDecimal.ROUND_DOWN; } else if (jdkMode.equals(RoundingMode.FLOOR)) { icuMode = BigDecimal.ROUND_FLOOR; } else if (jdkMode.equals(RoundingMode.HALF_DOWN)) { icuMode = BigDecimal.ROUND_HALF_DOWN; } else if (jdkMode.equals(RoundingMode.HALF_EVEN)) { icuMode = BigDecimal.ROUND_HALF_EVEN; } else if (jdkMode.equals(RoundingMode.HALF_UP)) { icuMode = BigDecimal.ROUND_HALF_UP; } else if (jdkMode.equals(RoundingMode.UNNECESSARY)) { icuMode = BigDecimal.ROUND_UNNECESSARY; } else if (jdkMode.equals(RoundingMode.UP)) { icuMode = BigDecimal.ROUND_UP; } return icuMode; }