В соответствии с форматированием Javado c с '#', нулевое значение будет отсутствовать. Вместо этого вы можете использовать «0», чтобы безоговорочно отображать десятичное место, даже если значение di git равно нулю.
Обратите внимание, что BigDecimals используются для расчетов, где требуется высокая точность, например, для финансовых приложений. Если вам просто нужно распечатать отформатированные числа, они вам на самом деле не нужны.
DecimalFormat df = new DecimalFormat("#.##");
DecimalFormat dfWithZeroes = new DecimalFormat("0.00");
System.out.println("two decimals: " + df.format(123.435435));
System.out.println("zero two decimals: " + dfWithZeroes.format(0.0000));
System.out.println("zero without a decimal: " + df.format(0));
С BigDecimals:
System.out.println("two decimals: " + new BigDecimal(df.format(123.435435)));
System.out.println("zero two decimals: " + new BigDecimal(dfWithZeroes.format(0.0000)));
System.out.println("zero without a decimal: " + new BigDecimal(df.format(0)));