Спецификатор формата Java- %.2f, выбрасывающий исключение MissingFormatArgumentException

Я пытаюсь использовать спецификаторы формата в программе Java, чтобы показать только первые 2 десятичных знака double Переменная я печатаю.

Прямо сейчас мое заявление о печати double является System.out.format("Total = $%.2f" + value); (значение является двойным в вопросе).

Когда я запускаю мою программу, она печатает "Total = $" без каких-либо проблем, а затем сразу дает MissingFormatArgumentException,

полный журнал ошибок в консоли:

Total = $Exception in thread "main" java.util.MissingFormatArgumentException: Format specifier '%.3f'
    at java.util.Formatter.format(Unknown Source)
    at java.io.PrintStream.format(Unknown Source)
    at Account.getBalance(Account.java:21)
    at testAccount.main(testAccount.java:4)

Что я делаю неправильно?

1 ответ

Решение

Параметры System.out.print не ("...%.2f" + x), его ("...%.2f", x),

Попробуйте это вместо этого:

System.out.format("Total = $%.2f", value);

Другие вопросы по тегам