Java:printf 语句中的文字百分比登录

2022-08-31 07:41:25

我试图在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中?我以为使用\%来逃避它会起作用,但事实并非如此。

有什么想法吗?


答案 1

百分号使用百分号转义:

System.out.printf("%s\t%s\t%1.2f%%\t%1.2f%%\n",ID,pattern,support,confidence);

完整的语法可以在java文档中访问。此特定信息位于第一个链接的部分。Conversions

编译器生成错误的原因是反斜杠后面只能有有限数量的字符。 不是有效字符。%


答案 2

转义百分比符号为双百分比 (%%):

System.out.printf("2 out of 10 is %d%%", 20);