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

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

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

You Might Also Like