float to string with different precision

Zentrader zentraders at gmail.com
Fri Aug 10 20:37:06 CEST 2007


On Aug 10, 1:12 am, Peter Otten <__pete... at web.de> wrote:
>  zunbe... 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

If the above does not work
[/code]test_list = [ 5.32, 10.35634, 289.234 ]
for num in test_list :
   str_num = "%11.5f" % (num)       ## expand to at least 5
   print str_num, "-->", str_num.strip()[:5][/code]




More information about the Python-list mailing list