# floating point – Python, print all floats to 2 decimal places in output

## floating point – Python, print all floats to 2 decimal places in output

Well I would atleast clean it up as follows:

``````print %.2f kg = %.2f lb = %.2f gal = %.2f l % (var1, var2, var3, var4)
``````

Format String Syntax.

https://docs.python.org/3/library/string.html#formatstrings

``````from math import pi
var1, var2, var3, var4 = pi, pi*2, pi*3, pi*4
{:0.2f}, kg={:0.2f}, lb={:0.2f}, gal={:0.2f}.format(var1, var2, var3, var4)
``````

The output would be:

``````3.14, kg=6.28, lb=9.42, gal=12.57
``````

#### floating point – Python, print all floats to 2 decimal places in output

If you just want to convert the values to nice looking strings do the following:

``````twodecimals = [%.2f % v for v in vars]
``````

Alternatively, you could also print out the units like you have in your question:

``````vars = [0, 1, 2, 3] # just some example values
units = [kg, lb, gal, l]
delimiter = ,  # or however you want the values separated

print delimiter.join([%.2f %s % (v,u) for v,u in zip(vars, units)])
Out: 0.00 kg, 1.00 lb, 2.00 gal, 3.00 l
``````

The second way allows you to easily change the delimiter (tab, spaces, newlines, whatever) to suit your needs easily; the delimiter could also be a function argument instead of being hard-coded.

Edit: To use your name = value syntax simply change the element-wise operation within the list comprehension:

``````print delimiter.join([%s = %.2f % (u,v) for v,u in zip(vars, units)])
Out: kg = 0.00, lb = 1.00, gal = 2.00, l = 3.00
``````