ccpp:round

Toto je starší verze dokumentu!


Zaokrouhlování na celá čísla

Někdy je třeba danou hodnotu v datovém typu s plovoucí čárkou aritmeticky správně zaokrouhlit.

Můžeme využít faktu, že při implicitní konverzi z čísla s plovoucí čárkou na celé číslo dojde k zahození desetinné části. Přičteme k libovolnému číslu 0.5 a přetypujeme.

int zaokrouhlene, zaokrouhlene2;
float cislo = 1.4f;
float cislo2 = 1.5f;
zaokrouhlene = cislo + 0.5f;
zaokrouhlene2 = cislo2 + 0.5f;

Alternativně můžeme použít knihovní funkci round(f), která je celá postavená na číslech s plovoucí čárkou. std::round

// Verze C
#include <math.h>
//...
float cislo = roundf(1.65f);
double cislo2 = round(4.2);
// Verze C++
#include <cmath>
//...
// C++ využívá přetěžování funkcí, ale stále existuje i fce roundf
float cislo = std::round(1.65f);
double cislo2 = std::round(4.2);
  • ccpp/round.1605890687.txt.gz
  • Poslední úprava: 2020/11/20 17:44
  • autor: bures