String Formatting Operations for decimals.

Xavier Ho contact at xavierho.com
Thu Apr 1 05:15:23 EDT 2010


Hi Maxim,

If it's the trailing zeroes you're concerned about, here's a work-around:

>>> ('%.2f' % 10.5678).rstrip('0')
'10.57

I'm sure there are better solutions. But this one works for your need,
right?

Cheers,'

Ching-Yun Xavier Ho, Technical Artist

Contact Information
Mobile: (+61) 04 3335 4748
Skype ID: SpaXe85
Email: contact at xavierho.com
Website: http://xavierho.com/


On Thu, Apr 1, 2010 at 7:08 PM, Lacrima <lacrima.maxim at gmail.com> wrote:

> Hello!
>
> I need to format a decimal (floating point) number in the following
> way:
> 10 results in '10'
> 10.5 results in '10.5'
> 10.50 results in '10.5'
> 10.5678 results in 10.57
>
> How can I achieve this using standard Python string formatting
> operations?
> Something like '%.2f' works almost as expected:
> >>> '%.2f' % 10.5
> '10.50'
> >>> '%.2f' % 10.5678
> '10.57'
> >>> '%.2f' % 10
> '10.00'
> But I always need trailing zeros to be excluded, i.e. 10.5 should
> result in '10.5' (not '10.50'), and 10 should result in '10' (not
> '10.00').
> So how can I do this?
> Sorry for my English.
> Thanks in advance.
>
> with regards,
> Maxim
> --
> http://mail.python.org/mailman/listinfo/python-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20100401/74b4c11c/attachment-0001.html>


More information about the Python-list mailing list