# Re: print()

Discussion in 'Python' started by Lie Ryan, Oct 17, 2009.

1. ### Lie RyanGuest

mattia wrote:
> Another question (always py3). How can I print only the first number
> after the comma of a division?
> e.g. print(8/3) --> 2.66666666667
> I just want 2.6 (or 2.66)

Are you sure you don't want that to be 2.7 or 2.67? Then you can use:
n = int(n * 10**2) / 10**2
else if 2.7 pr 2.67 is what you wanted, you could use:
n = round(n, 2)

Lie Ryan, Oct 17, 2009

2. ### Dave AngelGuest

Lie Ryan wrote:
> mattia wrote:
>> Another question (always py3). How can I print only the first number
>> after the comma of a division?
>> e.g. print(8/3) --> 2.66666666667
>> I just want 2.6 (or 2.66)

>
> Are you sure you don't want that to be 2.7 or 2.67? Then you can use:
> n = int(n * 10**2) / 10**2
> else if 2.7 pr 2.67 is what you wanted, you could use:
> n = round(n, 2)
>
>

Bad idea to use round() to make numbers format properly. No guarantees
that the print logic will then print the number rounded the way you
want. It could just as easily do 2.69999999999999 when you finally go
to print it.

Best to use format(), the way it was intended. Round to decimal while
converting to decimal. Otherwise surprises await in dark corners.

DaveA

Dave Angel, Oct 17, 2009