[c++] Zaokrąglanie liczb całkowitych

Cześć, szukam jakiegoś pomysłu na zaokrąglanie liczb całkowitych, mam tu na myśli zaokrąglenie np. liczby 11 do wartości 10, a liczby 18 do wartości 20. Może być także zaokrąglanie co 5 liczb, czyli np. liczba 17 zostaje zaokrąglona do wartości 15. Jak coś takiego napisać?

(int)((float)liczba / 10.0f + 0.5f) * 10

?

Może być, dzięki.

Fiołek , wystarczy:

10*(int)(liczba/10.+0.5)

dla zaokrąglenia do 5:

5*(int)(liczba/5.+0.5)

Wiem, że int/float daje float(czy tam int/double daje double), ale dla większej czytelności wolałem dać jawną konwersję - a nuż autor o tym nie wie i się będzie głowił :wink:

Fiołek , a na ten przypadek to chyba powinieneś ten kod zaopatrzyć w obfite komentarze.

Oj, wybacz. Zapomniałem… Obiecuję poprawę.

(int)((float)liczba / 10.0f + 0.5f) * 10 //Bardzo obfity komentarz specjalnie dla alex

:wink: