I'm trying to make length = 001
in Python 3 but whenever I try to print it out it truncates the value without the leading zeros (length = 1
). How would I stop this happening without having to cast length
to a string before printing it out?
相关问题
- how to define constructor for Python's new Nam
- streaming md5sum of contents of a large remote tar
- How to get the background from multiple images by
- Django __str__ returned non-string (type NoneType)
- Evil ctypes hack in python
I suggest this ugly method but it works:
I came here to find a lighter solution than this one!
There are many ways to achieve this but the easiest way in Python 3.6+, in my opinion, is this:
Make use of the
zfill()
helper method to left-pad any string, integer or float with zeros; it's valid for both Python 2.x and Python 3.x.Sample usage:
Description:
When applied to a value,
zfill()
returns a value left-padded with zeros when the length of the initial string value less than that of the applied width value, otherwise, the initial string value as is.Syntax:
Python integers don't have an inherent length or number of significant digits. If you want them to print a specific way, you need to convert them to a string. There are several ways you can do so that let you specify things like padding characters and minimum lengths.
To pad with zeros to a minimum of three characters, try:
Since python 3.6 you can use fstring :