Java:printf语句中的文字百分比符号
我试图在Java中的printf语句中添加一个实际的百分号,但得到了错误:Java:printf语句中的文字百分比符号,java,printf,escaping,Java,Printf,Escaping,我试图在Java中的printf语句中添加一个实际的百分号,但得到了错误: lab1.java:166: illegal escape character System.out.printf("%s\t%s\t%1.2f\%\t%1.2f\%\n",ID,pattern,support,confidence); ^ lab1.java:166: illegal esc
lab1.java:166: illegal escape character
System.out.printf("%s\t%s\t%1.2f\%\t%1.2f\%\n",ID,pattern,support,confidence);
^
lab1.java:166: illegal escape character
System.out.printf("%s\t%s\t%1.2f\%\t%1.2f\%\n",ID,pattern,support,confidence);
^
2 errors
我想不出如何在printf中加上实际的百分号?我原以为用\%来逃避它会奏效,但事实并非如此
有什么想法吗?使用百分号转义百分号:
System.out.printf("%s\t%s\t%1.2f%%\t%1.2f%%\n",ID,pattern,support,confidence);
可在中访问。此特定信息在第一个链接的转换部分中
编译器生成错误的原因是,反斜杠后面可能只有有限数量的错误<代码>%
不是有效字符。转义百分比符号是双百分比(%):
您可以使用Apache Commons Logging utility中的StringEscapeUtils,也可以使用每个字符的代码手动转义。应该使用
Commons文本中的StringEscapeUtils
,因为Commons-lang3
中的StringEscapeUtils已被弃用。
System.out.printf("2 out of 10 is %d%%", 20);