![]() |
round down to nearest number
How do you round down ALWAYS to nearest 100? Like, if I have number
3268, I want that rounded down to 3200. I'm doing my rounding like >>> round(3268, -2) But, how to round DOWN? |
Re: round down to nearest number
On Thu, Feb 9, 2012 at 5:30 PM, noydb <jenn.duerr@gmail.com> wrote:
> How do you round down ALWAYS to nearest 100? *Like, if I have number > 3268, I want that rounded down to 3200. *I'm doing my rounding like >>>> round(3268, -2) > But, how to round DOWN? >>> 3268 // 100 * 100 3200 For more complicated cases, Decimal objects allow you to specify alternate rounding modes. |
Re: round down to nearest number
hmmm, okay.
So how would you round UP always? Say the number is 3219, so you want 3300 returned. |
Re: round down to nearest number
On Thu, Feb 9, 2012 at 5:23 PM, noydb <jenn.duerr@gmail.com> wrote:
> hmmm, okay. > > So how would you round UP always? Â*Say the number is 3219, so you want > 3300 returned. http://stackoverflow.com/questions/1...division/96921 Thus: (3219 + 99) // 100 Slight tangent: Beware negative numbers when using // or %. Cheers, Chris |
Re: round down to nearest number
On Thu, Feb 9, 2012 at 6:43 PM, Chris Rebert <clp2@rebertia.com> wrote:
> On Thu, Feb 9, 2012 at 5:23 PM, noydb <jenn.duerr@gmail.com> wrote: >> hmmm, okay. >> >> So how would you round UP always? *Say the number is 3219, so you want >> 3300 returned. > > http://stackoverflow.com/questions/1...division/96921 > > Thus: (3219 + 99) // 100 > > Slight tangent: Beware negative numbers when using // or %. There's no problem with negative numbers here, as long as you actually want to round *up* or *down*, as opposed to away from zero or toward zero. |
Re: round down to nearest number
That {>>> (3219 + 99) // 100} doesnt work if the number is other then
4 digits. (for rounding up to nearest 100): >>> (3219 + 99)//100 33 >>> (3289 + 99)//100 33 >>> (328678 + 99)//100 3287 >>> (328 + 99)//100 4 |
Re: round down to nearest number
On 2/9/2012 8:23 PM, noydb wrote:
> So how would you round UP always? Say the number is 3219, so you want >>> (3333//100+1)*100 3400 -- Terry Jan Reedy |
Re: round down to nearest number
On 10/02/2012 02:25, noydb wrote:
> That {>>> (3219 + 99) // 100} doesnt work if the number is other then > 4 digits. > > > (for rounding up to nearest 100): >>>> (3219 + 99)//100 > 33 >>>> (3289 + 99)//100 > 33 >>>> (328678 + 99)//100 > 3287 >>>> (328 + 99)//100 > 4 >>> (3219 + 99) // 100 * 100 3300 >>> (3289 + 99) // 100 * 100 3300 >>> (328678 + 99) // 100 * 100 328700 >>> (328 + 99) // 100 * 100 400 Those are all rounded up to the nearest 100 correctly. |
Re: round down to nearest number
On 10/02/2012 03:29, Terry Reedy wrote:
> On 2/9/2012 8:23 PM, noydb wrote: >> So how would you round UP always? Say the number is 3219, so you want > >>> (3333//100+1)*100 > 3400 > Doing it that way doesn't always work. For example: >>> (3400 // 100 + 1) * 100 3500 However: >>> (3400 + 99) // 100 * 100 3400 |
Re: round down to nearest number
On Thu, Feb 9, 2012 at 8:36 PM, MRAB <python@mrabarnett.plus.com> wrote:
> On 10/02/2012 02:25, noydb wrote: >> >> That {>>> *(3219 + 99) // 100} doesnt work if the number is other then >> 4 digits. >> >> >> (for rounding up to nearest 100): >>>>> >>>>> *(3219 + 99)//100 >> >> 33 >>>>> >>>>> *(3289 + 99)//100 >> >> 33 >>>>> >>>>> *(328678 + 99)//100 >> >> 3287 >>>>> >>>>> *(328 + 99)//100 >> >> 4 > > >>>> (3219 + 99) // 100 * 100 > 3300 >>>> (3289 + 99) // 100 * 100 > 3300 >>>> (328678 + 99) // 100 * 100 > 328700 >>>> (328 + 99) // 100 * 100 > 400 > > Those are all rounded up to the nearest 100 correctly. One thing to be aware of though is that while the "round down" formula works interchangeably for ints and floats, the "round up" formula does not. >>> (3300.5 + 99) // 100 * 100 3300.0 A more consistent alternative is to negate the number, round down, and then negate again. >>> -(-(3300.5) // 100 * 100) 3400.0 Cheers, Ian |
| All times are GMT. The time now is 04:43 AM. |
Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.