Floating Number format problem

Gabriel Genellina gagsl-py2 at yahoo.com.ar
Tue Jun 12 05:30:49 EDT 2007


En Tue, 12 Jun 2007 05:46:25 -0300, <kelvin.you at gmail.com> escribió:

> On 6 12 ,   3 16 , ici <iltch... at gmail.com> wrote:
>> On Jun 12, 10:10 am,                 <kelvin.... at gmail.com> wrote:
>>
>> > How could I format the float number like this: (keep 2 digit
>> > precision)
>> > 1.002 => 1
>> > 1.12  => 1.12
>> >>> print "%.02f" % (2324.012)
>> 2324.01
>>
> But in these case:
>
>>>> print '%.02f'%1.002
> 1.00
>>>> print '%.02f'%1.00
> 1.00
>
> I just expect it to output "1" , but these way will output 1.00

def my_formatter_ommitting_trailing_zeroes(value):
   result = '%.2f' % value
   if result[-3:]=='.00': result = result[:-3]
   return result

for f in [1.0, 1.002, 1.12, 1.567, 2324.012]:
   print "%g -> %s" % (f, my_formatter_ommitting_trailing_zeroes(f))

-- 
Gabriel Genellina




More information about the Python-list mailing list