Go back to Richel Bilderbeek's homepage.

Go back to Richel Bilderbeek's C++ page.

 

 

 

 

 

(C++) RoundOff

 

RoundOff is a math code snippet to round a double to the nearest integer.

 

//From http://www.richelbilderbeek.nl/CppRoundOff.htm
int RoundOff(const double x)
{
  return (x > 0.0
    ? static_cast<int>(x + 0.5)
    : static_cast<int>(x - 0.5));
}

 

 

 

 

 

RoundOff test

 

//From http://www.richelbilderbeek.nl/CppRoundOff.htm
int RoundOff(const double x)
{
  return (x > 0.0
    ? static_cast<int>(x + 0.5)
    : static_cast<int>(x - 0.5));
}

#include <cassert>

int main()
{
  assert(RoundOff(-2.4)==-2);
  assert(RoundOff(-1.6)==-2);
  assert(RoundOff(-1.5)==-2);
  assert(RoundOff(-1.4)==-1);
  assert(RoundOff(-0.6)==-1);
  assert(RoundOff(-0.5)==-1);
  assert(RoundOff(-0.4)== 0);
  assert(RoundOff(-0.1)== 0);

  assert(RoundOff( 0.1)==0);
  assert(RoundOff( 0.4)==0);
  assert(RoundOff( 0.5)==1);
  assert(RoundOff( 0.6)==1);
  assert(RoundOff( 1.4)==1);
  assert(RoundOff( 1.5)==2);
  assert(RoundOff( 1.6)==2);
  assert(RoundOff( 2.4)==2);
}

 

 

 

 

 

Go back to Richel Bilderbeek's C++ page.

Go back to Richel Bilderbeek's homepage.

 

Valid XHTML 1.0 Strict