Спецификатор формата 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)
;