From: Jonathan Turkanis (technews_at_[hidden])
Date: 2004-07-19 12:10:00
"Matt Verona" <mattverona_at_[hidden]> wrote in message
> I was reading the Boost documentation, and couldn't find a function
> floating point numbers (up or down) to the nearest integer.
> I have my own implementation of this algorithm as follows:
> #include <math.h>
> double round(double number)
> return number < 0.0 ? ceil(number-0.5) : floor(number+0.5);
> This round function produces the following output:
> round(0.0) = 0
> round(1.49) = 1
> round(1.5) = 2
> round(-1.49) = -1
> round(-1.5) = -2
> Does Boost contain a simple rounding function like this?
> Thanks in advance,
Check out Fernando Cacciola's numeric conversion library in CVS. (See
It contains the definition of a function object type converter
parameterized by a source and target type and several traits and
policy classes, including one called Float2IntRounder. There are four
built in float to int rounding policies: Trunc (default), RoundEven,
Ceil and Floor.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk