В Java действительно ли возможно использовать String.format, чтобы только показать десятичное число, если существует на самом деле потребность? Например, если я делаю это:
String.format("%.1f", amount);
это отформатирует: "1.2222"-> "1.2" "1.000"-> "1.0" и т.д.,
но во втором случае (1.000) я хочу, чтобы это возвратилось всего "1". Действительно ли это возможно с String.format или оказывается перед необходимостью использовать DecimalFormatter?
Если я должен использовать десятичное средство форматирования, я должен буду сделать отдельный DecimalFormatter для каждого типа формата, который я хочу? (до 1 десятичного разряда, до 2 десятичных разрядов, и т.д.)
Нет, вы должны использовать decimalFormat :
final DecimalFormat f = new DecimalFormat("0.##");
System.out.println(f.format(1.3));
System.out.println(f.format(1.0));
поставить столько #
Ты бы хотел; DecimalFormat будет печатать только столько цифр, так как оно считается значительным, до количества #
S.