You have a problem displaying the % sign when you want to print a number in percentage format using the printf() method. Because the % sign is use as a prefix of format specifiers, you need to escape it if you want to display the % sign as part of the output string.
To escape the percent sign (%) you need to write it twice, like %%. It will print out a single % sign as part of your printf() method output. Let see an example in the code snippet below:
package org.kodejava.lang;
public class EscapePercentSignExample {
public static void main(String[] args) {
String format = "The current bank interest rate is %6.2f%%.%n";
System.out.printf(format, 10f);
}
}
In the code snippet above we use the following format %6.2f%%.%n which can be explained as:
%6.2fformat the number (10f) as six characters in width, right justified, with two places after decimal point. Thefconversion character means it accept a float value.%%will escape the%sign and print it as part of the output.%nwill print out a new line character.
When you execute the code, it will print:
The current bank interest rate is 10.00%.
