我正在尝试在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中添加实际的百分号?我认为使用\%来逃避它会起作用,但事实并非如此。
有什么想法吗?
答案 0 :(得分:178)
百分号使用百分号进行转义:
System.out.printf("%s\t%s\t%1.2f%%\t%1.2f%%\n",ID,pattern,support,confidence);
可以在complete syntax中访问java docs。此特定信息位于第一个链接的Conversions
部分。
编译器生成错误的原因是只有有限数量的characters可能会出现反斜杠。 %
不是有效字符。
答案 1 :(得分:92)
转义百分号为双倍百分比(%%):
System.out.printf("2 out of 10 is %d%%", 20);
答案 2 :(得分:2)
您可以使用Apache Commons Logging实用程序中的StringEscapeUtils,也可以使用每个字符的代码手动转义。
答案 3 :(得分:0)
检查下面的代码---
public class Printter {
public static void main(String[] args) {
System.out.println("" + "%");
}
}