float to string with different precision

Peter Otten __peter__ at web.de
Fri Aug 10 04:12:02 EDT 2007


 zunbeltz at gmail.com wrote:

> I have to print float numbers to a file. Each float should be 5
> characters in width (4 numbers and the decimal point).
> My problem is that I do not now how to specify float to have different
> numbers of decimals. For example
> 
> 5.32 -> 5.320
> 10.356634 -> 10.357
> 289.234 -> 289.2
> 
> In the string formating operations only fixed number of decimal digits
> is allow.

>>> ["%#.4g" % f for f in [5.32, 10.356634, 289.234, 123456789.]]
['5.320', '10.36', '289.2', '1.235e+08']

Found by playing around with format strings, so no guarantees.

Peter



More information about the Python-list mailing list