जावा: प्रिंटफ स्टेटमेंट में शाब्दिक प्रतिशत पर हस्ताक्षर


138

मैं जावा में प्रिंटफ़ स्टेटमेंट में एक वास्तविक प्रतिशत चिह्न जोड़ने की कोशिश कर रहा हूं और मुझे त्रुटि मिल रही है:

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

मैं यह पता नहीं लगा सकता कि मेरे प्रिंट में वास्तविक प्रतिशत चिह्न कैसे लगाया जाए? मैंने सोचा कि यह काम करने के लिए \% का उपयोग करेगा, लेकिन यह नहीं है।

कोई विचार?

जवाबों:


197

प्रतिशत चिह्न का उपयोग कर बच जाता है:

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

पूरा वाक्य रचना में पहुँचा जा सकता है जावा डॉक्स । यह विशेष जानकारी अनुभाग में हैConversions पहले लिंक में है।

संकलक त्रुटि उत्पन्न करने का कारण यह है कि केवल सीमित मात्रा में वर्ण ही बैकस्लैश का अनुसरण कर सकते हैं। %एक वैध चरित्र नहीं है।


102

बच गए प्रतिशत का प्रतिशत दोगुना है (%%):

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

2

आप Apache Commons लॉगिंग उपयोगिता से StringEscapeUtils का उपयोग कर सकते हैं या प्रत्येक वर्ण के लिए कोड का उपयोग करके मैन्युअल रूप से बच सकते हैं।


उपयोग करना चाहिए StringEscapeUtilsसेcommons-text , क्योंकि एक से commons-lang3निकाला गया है।
एरिक वांग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.