Есть 2 способа сделать это, самый распространенный способ, который я видел, основан на стиле C printf
.
System.out.printf("%.2f", sal);
printf
использует модификаторы, определенные операторами %
. Этот указывает, что он должен печатать число с плавающей запятой (f
) с двумя десятичными знаками (.2
). Вы можете найти список операторов здесь .
Лично я предпочитаю стиль C # MessageFormat
System.out.println(MessageFormat.format("{0,number,0.00}", sal));
MessageFormat
backends от DecimalFormat
, который представляет число в контекстах #
и 0
, где #
представляет потенциальное, но не обязательное число, тогда как 0
обозначает требуемое число. То есть, если вы передадите 10
в указанный формат, вы получите 10.00
.
Редактировать
Просто понял, что это ArrayList; вам придется перебирать каждый элемент массива и распечатывать их по отдельности.
boolean USE_PRINTF = false;
System.out.print("[");
for(int i = 0; i < salary.size(); ++i)
{
if(USE_PRINTF) { System.out.printf("%.2f", salary.get(i)); }
else { System.out.print(MessageFormat.format("{0,number,0.00}", salary.get(i))); }
if(i < salary.size() - 1) { System.out.print(", "); }
}
System.out.println("]");