Как и другие говорили, #
форматирует цифру, но сбрасывает нули.
В вашем примере, где вы применяете .###
к двойному значению, как 12.34
, оно будет форматировать до 12.340
, но, поскольку оно сбрасывает нули, это не так.
То же самое происходит, когда вы ставите #
перед десятичной дробью, например ###.###
для форматирования 12.34
будет отображать 012.340
, но так как он сбрасывает нули, он отображается как 12.34
.
Таким образом, за #
до десятичная дробь действительно ничего не сделает.
Пример чего-то полезного перед десятичной дробью, так что вы можете увидеть форматы до десятичной дроби может работать с 0
, который форматирует цифру, но не не отбрасывать нули, а также может быть использован в десятичном формате. Шаблон как 000.000
, примененный к 12.34
, приводит к 012.340
:
double d = 12.34;
DecimalFormat df = new DecimalFormat("000.000");
System.out.print(df.format(d));
Шаблоны типа 0
, #
и более определены в DecimalFormat .