Velocity Reviews > How to round a floating point to nearest 10?

# How to round a floating point to nearest 10?

Will Rocisky
Guest
Posts: n/a

 08-09-2008
I want my 76.1 to be rounded to decimal 80 and 74.9 to decimal 70.
How can I achieve that?

John Machin
Guest
Posts: n/a

 08-09-2008
On Aug 9, 9:31 pm, Will Rocisky <(E-Mail Removed)> wrote:
> I want my 76.1 to be rounded to decimal 80 and 74.9 to decimal 70.
> How can I achieve that?

>>> import decimal
>>> [decimal.Decimal(int(round(x, -1))) for x in (76.1, 74.9)]

[Decimal("80"), Decimal("70")]
>>>

Peter Otten
Guest
Posts: n/a

 08-09-2008
Will Rocisky wrote:

> I want my 76.1 to be rounded to decimal 80 and 74.9 to decimal 70.
> How can I achieve that?

>>> help(round)

Help on built-in function round in module __builtin__:

round(...)
round(number[, ndigits]) -> floating point number

Round a number to a given precision in decimal digits (default 0 digits).
This always returns a floating point number. Precision may be negative.

>>> for f in 74.9, 75.0, 75.1:

.... print "%r --> %r" % (f, round(f, -1))
....
74.900000000000006 --> 70.0
75.0 --> 80.0
75.099999999999994 --> 80.0

Peter

Will Rocisky
Guest
Posts: n/a

 08-09-2008
On Aug 9, 5:46*pm, Peter Otten <(E-Mail Removed)> wrote:
> Will Rocisky wrote:
> > I want my 76.1 to be rounded to decimal 80 and 74.9 to decimal 70.
> > How can I achieve that?
> >>> help(round)

>
> Help on built-in function round in module __builtin__:
>
> round(...)
> * * round(number[, ndigits]) -> floating point number
>
> * * Round a number to a given precision in decimal digits (default 0 digits).
> * * This always returns a floating point number. *Precision may be negative.
>
> >>> for f in 74.9, 75.0, 75.1:

>
> ... * * print "%r --> %r" % (f, round(f, -1))
> ...
> 74.900000000000006 --> 70.0
> 75.0 --> 80.0
> 75.099999999999994 --> 80.0
>
> Peter

thankssss

Daniel Klein
Guest
Posts: n/a

 08-09-2008
On Sat, 9 Aug 2008 04:31:38 -0700 (PDT), Will Rocisky <(E-Mail Removed)>
wrote:

>I want my 76.1 to be rounded to decimal 80 and 74.9 to decimal 70.
>How can I achieve that?

>>> for n in (74.9, 76.1):

print int((n+5)/10)*10

70
80

Dan

Mensanator
Guest
Posts: n/a

 08-09-2008
On Aug 9, 6:31�am, Will Rocisky <(E-Mail Removed)> wrote:
> I want my 76.1 to be rounded to decimal 80 and 74.9 to decimal 70.
> How can I achieve that?

>>> print '%.0e' % 74.9

7e+01
>>> print '%.0e' % 76.1

8e+01

John Machin
Guest
Posts: n/a

 08-09-2008
On Aug 10, 1:19 am, Mensanator <(E-Mail Removed)> wrote:
> On Aug 9, 6:31 am, Will Rocisky <(E-Mail Removed)> wrote:
>
> > I want my 76.1 to be rounded to decimal 80 and 74.9 to decimal 70.
> > How can I achieve that?
> >>> print '%.0e' % 74.9

> 7e+01
> >>> print '%.0e' % 76.1

>
> 8e+01

But:
>>> print '%.0e' % 176.1

2e+002

Giving the Subject ("How to round a floating point to nearest 10?"),
there's a strong presumption that the OP would want the answer to be
180, not 200.

Mensanator
Guest
Posts: n/a

 08-09-2008
On Aug 9, 4:54*pm, John Machin <(E-Mail Removed)> wrote:
> On Aug 10, 1:19 am, Mensanator <(E-Mail Removed)> wrote:
>
> > On Aug 9, 6:31 am, Will Rocisky <(E-Mail Removed)> wrote:

>
> > > I want my 76.1 to be rounded to decimal 80 and 74.9 to decimal 70.
> > > How can I achieve that?
> > >>> print '%.0e' % 74.9

> > 7e+01
> > >>> print '%.0e' % 76.1

>
> > 8e+01

>
> But:>>> print '%.0e' % 176.1
>
> 2e+002

Which would be correct if your goal was to restrain to
1 significant digit.

>
> Giving the Subject ("How to round a floating point to nearest 10?"),
> there's a strong presumption that the OP would want the answer to be
> 180, not 200.

Well, I can't read the OP's mind and the cases I HAVE encountered
are concerned about the number of significant digits. When
laboratories
report 3 digits, all my manipulations (ppm conversion, dividing
non-detect reporting limits by 2, comparison to TACO, etc. are
required to also have exactly 3 digits of significance).

>>> print '%.2e' % 0.00000123456

1.23e-006
>>> print '%.2e' % 123456

1.23e+005
>>> print '%.2e' % 0.123000456

1.23e-001

It all depends on what the OP actually wants. He's free to ignore
my example.

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts BB code is On Smilies are On [IMG] code is On HTML code is OffTrackbacks are On Pingbacks are On Refbacks are Off Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post Edward A. Falk C Programming 1 04-04-2013 08:07 PM Lucky Nl Ruby 2 05-26-2010 01:13 PM tertius Python 4 11-16-2004 10:58 AM Fred Java 3 06-06-2004 06:20 AM Steve Java 5 05-17-2004 01:30 AM