Python Integer Formatting

Python Integer Formatting

I was wondering if it's possible to use two format options together when formatting integers.

I know I can use the bellow to include zero places

varInt = 12

print(
    "Integer : " +
    "{:03d}".format(varInt)
)

To get the output "Integer : 012"

I can use the following to include decimal places

varInt = 12

print(
    "Integer : " +
    "{:.3f}".format(varInt)
)

To get the output "Integer : 12.000"

But is it possible to use them both together to get the output "Integer : 012.000"

3

4 Answers

varInt = 12

print(
    "Integer : " +
    "{:07.3f}".format(varInt)
)

Outputs:

Integer : 012.000

The 7 is total field width and includes the decimal point.

Not only can you specify the minimum length and decimal points like this:

"{:07.3f}".format(12)

You can even supply them as parameters like this:

"{:0{}.{}f}".format(12, 7, 3)

Sure, the number at the beginning is the minimum length of the outputted string, so include the decimal part and the decimal point as well.

>>> "{:07.3f}".format(12)
'012.000'

For anyone who came here to format numbers in f string:

>>> a = 12
>>> f"{a:07.3f}"
'012.000'

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Chloe Bennett
Author

Chloe Bennett

Chloe Bennett explores the intersection of pop culture, streaming entertainment, digital trends, and contemporary lifestyle. Her weekly commentary reaches thousands of culture enthusiasts.