Округление чисел на Cи
Прописывать разные значения полностью в коде – не лучшая идея. Может неудобно читаться в конце концов этот результат. Лучше всего округлять значения до определенных цифр. Это, как раз-таки, возможно сделать с помощью определенных команд в языках. Один из популярных – C. Как раз-таки о том, как это делается с помощью специальных строк кода на данном языке – пойдет речь сегодня.
Что необходимо знать перед тем, как приступить к непосредственно примерам – о том, как производится округление и некоторые факты об этом. Первый и самый важный – число будет выбирать при возможности «большую сторону». То есть, пользователь сможет при значении 3,5 получить 4.
А если же отклонение в меньшую сторону сильнее, то программа сделает округление, соответственно, при 3,4 до 3. И как несложно догадаться, если введено число 3,6, то точно будет вывод до 4, ведь отклонение преимущественно в сторону большего целого числа.
Также, необходимо учитывать, что аргумент и возвращаемое число являются значениями с плавающей точкой. На всякий случай – стоит иметь ввиду этот факт.
round, roundf, roundl – команды на округление до ближайшего целого числа
Все три функции здесь отличны классом точности. Самая «минимальная» команда – roundf. Она предоставляет точность не менее 6 цифр десятичного типа. Кто касается разрядности, то она в данном случае составляет 32. Обозначается данная функция таким образом – roundfloat. Числа задаются с плавающей точкой.
Round имеет повышенную точность, но слегка. Числа имеют плавающую точку, как и раньше. Но теперь только точность двойная – double, задающаяся не менее 10 десятичных цифр. Разрядность выше roundfв 2 раза – 64 бита.
Roundl – еще более точная команда и ничего лучше нее нет. Плавающая точка здесь с повышенной точностью, обозначенной longdouble. Здесь требуется не менее 10 значащих десятичных цифр для выполнения операции. Разрядность, свойственная Roundl – 80.
Вот пример применения всех перечисленных команд в этом пункте:
#include <stdio.h> //Дляprintf
#include <math.h> //Для round, roundf, roundlintmain (void)
{
//Вывод значения аргумента
printf (“Аргумент: 2.83\n”);
//Расчет и вывод результата работы функции roundf
printf (“roundf : %.1f\n”, roundf (2.83) );
//Расчет и вывод результата работы функции round
printf (“round : %.1f\n”, round (2.83) );
//Расчет и вывод результата работы функции roundl
printf (“roundl : %.1Lf\n”, roundl (2.83) );return 0;
}
После того, как программа выполнится, результат будет следующий:
Аргумент: 2.83
roundf : 3.0
round : 3.0
roundl : 3.0
Повторить такую процедуру возможно с разными числами. В любом случае, пользователь получит округленное число, что и требовалось от операции.