Действительно ли возможно использовать String.format для условной десятичной точки?

В Java действительно ли возможно использовать String.format, чтобы только показать десятичное число, если существует на самом деле потребность? Например, если я делаю это:

String.format("%.1f", amount);

это отформатирует: "1.2222"-> "1.2" "1.000"-> "1.0" и т.д.,

но во втором случае (1.000) я хочу, чтобы это возвратилось всего "1". Действительно ли это возможно с String.format или оказывается перед необходимостью использовать DecimalFormatter?

Если я должен использовать десятичное средство форматирования, я должен буду сделать отдельный DecimalFormatter для каждого типа формата, который я хочу? (до 1 десятичного разряда, до 2 десятичных разрядов, и т.д.)

11
задан James McMahon 25 April 2013 в 20:59
поделиться

1 ответ

Нет, вы должны использовать decimalFormat :

final DecimalFormat f = new DecimalFormat("0.##");
System.out.println(f.format(1.3));
System.out.println(f.format(1.0));

поставить столько # Ты бы хотел; DecimalFormat будет печатать только столько цифр, так как оно считается значительным, до количества # S.

14
ответ дан 3 December 2019 в 07:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: