Java:printf语句中的文字百分号
我试图添加一个实际的百分号到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 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);
完整的语法可以在sun的java文档中访问。 此特定信息位于第一个链接的“ Conversions
”部分。
编译器产生错误的原因是只有有限的字符可能跟在反斜杠之后。 %
不是有效的字符。
转义百分号是百分之二(%%):
System.out.printf("2 out of 10 is %d%%", 20);
您可以使用Apache Commons Logging实用程序中的StringEscapeUtils,也可以使用每个字符的代码手动进行转义。