====== Zaokrouhlování na celá čísla ====== Někdy je třeba danou hodnotu v datovém typu s plovoucí čárkou aritmeticky správně zaokrouhlit. ===== Bez použití knihovny ===== 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; // Je třeba explicitně přetypovat datový typ na int. zaokrouhlene = (int)(cislo + 0.5f); zaokrouhlene2 = (int)(cislo2 + 0.5f); ===== S použitím knihovny ===== Alternativně můžeme použít knihovní funkci ''round(f)'', která je celá postavená na číslech s plovoucí čárkou. [[https://en.cppreference.com/w/cpp/numeric/math/round|std::round]] // Verze C #include //... float cislo = roundf(1.65f); double cislo2 = round(4.2); // Verze C++ #include //... // 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);