尝试从我的帐户类打印信息时,会出现错误。
这是我的代码:
System.out.printf("%5d $,9.2f %,5,2f%% %29s\n\n", account1.getId(), account1.getBalance(), account1.getAnnualInterestRate(), account1.getDateCreated());
错误:
Exception in thread "main" java.util.UnknownFormatConversionException: Conversion = ','
at java.util.Formatter.checkText(Unknown Source)
at java.util.Formatter.parse(Unknown Source)
at java.util.Formatter.format(Unknown Source)
at java.io.PrintStream.format(Unknown Source)
at java.io.PrintStream.printf(Unknown Source)
at TestAccount.printAccount(TestAccount.java:16)
at TestAccount.main(TestAccount.java:11)
由于
答案 0 :(得分:3)
试试这个:
System.out.printf("%5d$, %9.2f, %5.2f, %29s\n\n", ...);
将打印:
答案 1 :(得分:0)
您的转换字符串无效:
%,5,2f
不是有效的转化说明符。 (你的意思是%5.2f
?)
答案 2 :(得分:0)
您的格式化程序中有%,5,2f%%
我认为应该是%,5.2f%%
此外,您可能希望使用$%,9.2f
代替$,9.2f
答案 3 :(得分:0)
答案 4 :(得分:0)
看起来你已经推出了"%"在9.2f之后(如9.2f%),我认为你的意图是获得账户余额,所以把"%"在9.2f之前(如%9.2f)。以下是对我有用的更正论据。
System.out.printf("%5d $,%9.2f,5,%2f %%%29s",account1.getId(),account1.getBalance(),account1.getAnnualInterestRate() ,account1.getDateCreated());