Zobrazit stránkuStarší verzeZpětné odkazyNahoru Tato stránka je pouze pro čtení. Můžete si pouze prohlédnout zdrojový kód, ale ne ho měnit. Zeptejte se správce, pokud si myslíte, že něco není v pořádku. ====== 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. <code c> 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); </code> ===== 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]] <code c> // Verze C #include <math.h> //... float cislo = roundf(1.65f); double cislo2 = round(4.2); </code> <code c> // 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); </code> ccpp/round.txt Poslední úprava: 2022/11/21 13:22autor: bures