From: Lacrima on 1 Apr 2010 05:08 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 From: Chris Rebert on 1 Apr 2010 05:14 On Thu, Apr 1, 2010 at 2:08 AM, Lacrima 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? ('%.2f' % 10).rstrip('0').rstrip('.') Cheers, Chris -- http://blog.rebertia.com