Округление вещественного числа с заданной точностью в Си - C (СИ)

Формулировка задачи:

Здравствуйте! Нужно написать функцию округления вещественного числа с заданной точностью, т.е. пользователь вводит, например число 1.23456 и хочет оставить 2 знака после запятой, должно получиться 1.23. Должна же быть команда округления НЕ до целого числа. У меня получилось так, но не та команда:
# include <iostream>
# include <math.h>
using namespace std;
 
double okruglenye(double chislo, long znaki)
   {
    double result = round(chislo* pow(10, znaki) / pow(10, znaki));
    return result;
   }
 
void main()
   {
    cout<<okruglenye(22.63456, 3)<<endl;
   }
Спасибо за помощь!!

Код к задаче: «Округление вещественного числа с заданной точностью в Си - C (СИ)»

textual
#include <iostream>
#include <iomanip>
 
using namespace std;
 
int main() {
    double pi = 3.1415926535;
   
    cout << setiosflags(ios::fixed) << setprecision(2) << pi << endl;
   
    return 0;
}

15   голосов, оценка 3.933 из 5


СОХРАНИТЬ ССЫЛКУ