2015-04-19 1 views
-3

Я пытаюсь использовать спецификаторы формата в программе Java, чтобы отображать только первые 2 десятичных знака переменной double, которую я печатаю.Java-% .2f спецификатор формата throwing MissingFormatArgumentException

Прямо сейчас, мое заявление о печати 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) 

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

+0

Можете ли вы предоставить код? – ryekayo

+0

@Filburt: Я откатил ваше редактирование, потому что не было никакого улучшения ... это только ухудшило его. – Tom

+0

@Tom Andy молится, каким образом форматирование сообщения об ошибке в виде блок-кавычки вместо форматирования кода делает его хуже? – Filburt

ответ

2

Параметры System.out.print не являются ("...%.2f" + x), это ("...%.2f", x).

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

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

Смежные вопросы