Jak jistě znalci jazyka Python dobře vědí, funkce round
v tomto jazyce zaokrouhluje malinko jinak, než jsme zvyklí. Pokud je desetinná část čísla přesně 0,5, Python zaokrouhluje k nejbližšímu sudému číslu. JavaScriptová funkce Math.round
naopak provádí zaokrouhlování způsobem, na který jste zvyklí, tedy pro 0,5 vždy nahoru.
(Zaokrouhlování v Pythonu je složitější na implementaci, ale zajišťuje, že zaokrouhlování je spravedlivé. Naše běžné zaokrouhlování mírně preferuje větší čísla, pokud zaokrouhlujeme jen kladná čísla – 0,5 je totiž přesně uprostřed, ale my ho vždy zaokrouhlujeme nahoru.)
Někomu by se po po Pythonovském zaokrouhlování mohlo stýskat. Napište proto funkci jménem round
, která bude zaokrouhlovat čísla na celé jednotky podle následujících pravidel:
- Pokud je desetinná část menší než 0,5, zaokrouhlujeme dolů (k nižším honotám).
- Pokud je desetinná část větší než 0,5, zaokrouhlujeme nahoru (k vyšším hodnotám).
- Pokud je desetinná část přesně rovna 0,5, zaokrouhlujeme k sudému číslu. Tedy například
3,5
se zaokrouhlí na4
, naopak2,5
se zaokrouhlí na2
.
V tomto cvičení se vám může hodit funkce Math.trunc
, která umí odříznout desetinnou část čísla.
Bonus
Zajistěte, aby funkce správně fungovala i pro záporná čísla.
Tedy například -3,5
se zaokrouhlí na -4
, naopak -2,5
se zaokrouhlí na -2
.