J'essaie d'ajouter un signe de pourcentage réel dans une instruction printf dans Java et j'obtiens l'erreur suivante:
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
Je n'arrive pas à comprendre comment insérer un signe de pourcentage réel dans mon printf? Je pensais qu'utiliser \% pour s'échapper fonctionnerait, mais ce n'est pas le cas.
Des idées?
Le signe de pourcentage est échappé à l'aide d'un signe de pourcentage:
System.out.printf("%s\t%s\t%1.2f%%\t%1.2f%%\n",ID,pattern,support,confidence);
La syntaxe complète est accessible dans documents Java . Cette information particulière se trouve dans la section Conversions
du premier lien.
La raison pour laquelle le compilateur génère une erreur est que seule une quantité limitée de caractères peut suivre une barre oblique inverse. %
n'est pas un caractère valide.
Le signe de pourcentage échappé est le double de pourcentage (%%):
System.out.printf("2 out of 10 is %d%%", 20);
Vous pouvez utiliser StringEscapeUtils à partir de l'utilitaire Apache Commons Logging ou vous échapper manuellement en utilisant du code pour chaque caractère.