0
0
PythonHow-ToBeginner · 3 min read

How to Format Percentage in Python: Simple Guide

In Python, you can format a number as a percentage using f-strings with the :.2% format specifier or the format() method with "{:.2%}". This multiplies the number by 100 and adds a percent sign automatically.
📐

Syntax

To format a number as a percentage in Python, use the format specifier :.2% inside an f-string or the format() method. The 2 means two decimal places. The % tells Python to multiply the number by 100 and add a percent sign.

python
value = 0.1234
formatted = f"{value:.2%}"
print(formatted)
Output
12.34%
💻

Example

This example shows how to format a decimal number as a percentage with two decimal places using both f-string and format() method.

python
value = 0.8567

# Using f-string
percent_fstring = f"{value:.2%}"

# Using format() method
percent_format = "{:.2%}".format(value)

print(percent_fstring)
print(percent_format)
Output
85.67% 85.67%
⚠️

Common Pitfalls

A common mistake is to multiply the number by 100 yourself and then format it with a percent sign, which leads to wrong results when using :.2%. Also, forgetting to use the percent sign in the format specifier will not add the % symbol.

python
# Wrong: multiplying by 100 and using :% leads to wrong output
value = 0.25
wrong = f"{value * 100:.2%}"
print(wrong)  # Output will be '2500.00%'

# Right: just use :% without multiplying
right = f"{value:.2%}"
print(right)  # Output will be '25.00%'
Output
2500.00% 25.00%
📊

Quick Reference

Format SpecifierDescriptionExample Output
:.0%No decimal places, percent sign added12%
:.1%One decimal place, percent sign added12.3%
:.2%Two decimal places, percent sign added12.34%
:%Default decimal places (usually 6), percent sign added12.345679%

Key Takeaways

Use f-strings with :% to format numbers as percentages easily.
Do not multiply the number by 100 yourself when using :% format specifier.
Specify decimal places with :.2% to control precision.
The format() method also supports {:.2%} for percentage formatting.
Common mistake: multiplying by 100 and then using :% causes incorrect output.