# round off to two decimal & return float

Sat Mar 30 10:43:46 CET 2013

```2013/3/30 Roland Mueller <roland.em0001 at googlemail.com>

> Hello,
>
> 2013/3/30 ஆமாச்சு <amachu at amachu.me>
>
>> Consider the scenario,
>>
>> >> a = 10
>> >> "{0:.2f}".format(a)
>> '10.00'
>>
>> This returns a string 10.00. But what is the preferred method to retain
>> 10.0 (float) as 10.00 (float)?
>>
>> I assume you have a numeric value a and want to have a float with 2
> decimals. This can be achieved with the function round():
>
> Of course the representation of the float having a given number of
decimals printed out is always a string. The float format does not imply
any formatting and Python's default formatting when a float is printed out
is to print as decimals as needed. Thus, using round() fives you a float
with maximal two decimals.

>>> a = 9.2022222
>>> a = round(a,2)
>>> a
9.2

>>> a = 9.2222222
>>> a = round(a,2)
>>> a
9.22

>>> a = 10
>
>
> >>> type(a)
> <type 'int'>
>
> >>> a = round(10,2)
>
>
>
> >>> type (a)
>
>
> <type 'float'>
>
>
> >>> a
>
>
> 10.0
>
> BR,
> Roland
>
>
>> I am trying to assign the value to a cell of a spreadsheet, using
>> python-xlwt. I would like to have 10.00 as the value that is right
>> aligned. With text it is left aligned.
>>
>> --
>>