That's an overly specific solution. I believe the more general rounding function taught in grade-school math would be:
(define (my-round n) (floor (+ n 1/2))) This is also untested. And it might need tweaking for negative numbers if they are supposed to round away from zero, I forget how that works. Carl Eastlund On Sat, Mar 16, 2013 at 8:32 PM, Eric Dobson <eric.n.dob...@gmail.com>wrote: > The docs say that it is round to even, which is the standard for > floating point numbers [1]. You can write your own rounding operator > that rounds .5 up if need be. > > ;; Untested > (define (my-round n) > (let ((r (round n))) (if (= .5 (- n r)) (add1 r) r))) > > [1] http://en.wikipedia.org/wiki/Rounding#Round_half_to_even > > On Sat, Mar 16, 2013 at 7:21 AM, Eric Nadeau <nad...@gmail.com> wrote: > > Hi, > > > > I was having problems with a mathematical application I'm writing and > narrowed it down to: > > > > (round 0.5) > > (round (/ 1 2)) > > (round 1.5) > > (round (/ 3 2)) > > > > giving me > > > > 0.0 > > 0 > > 2.0 > > 2 > > > > Since when is round 0.5 not giving 1?! > > > > Cheers, > > Eric > > ____________________ > > Racket Users list: > > http://lists.racket-lang.org/users > ____________________ > Racket Users list: > http://lists.racket-lang.org/users > >
____________________ Racket Users list: http://lists.racket-lang.org/users