জাভা: প্রিন্টফ স্টেটমেন্টে আক্ষরিক শতাংশ সাইন ইন


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

আমি কীভাবে আমার প্রিন্টএফটিতে প্রকৃত শতাংশ সাইন রাখব তা বুঝতে পারি না? আমি ভেবেছিলাম এটি থেকে পালাতে escape% ব্যবহার করা কার্যকর হবে, তবে তা হয় না।

কোন ধারনা?

উত্তর:


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

আপনি অ্যাপাচি কমন্স লগিং ইউটিলিটি থেকে স্ট্রিংস্পট ইউটুলস ব্যবহার করতে পারেন বা প্রতিটি চরিত্রের কোড ব্যবহার করে ম্যানুয়ালি পলায়ন করতে পারেন।


StringEscapeUtilsথেকে ব্যবহার করা উচিত commons-text, যেহেতু একটির থেকে commons-lang3অবহেলিত।
এরিক ওয়াং
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.