📜  C++中的round()

📅  最后修改于: 2021-05-30 14:42:11             🧑  作者: Mango

round用于舍入给定的数字,该数字可以是float或double。它返回全面函数最接近的整数值来提供的参数,有一半的情况下,从零舍入程。代替round(),也可以使用std :: round()
使用的头文件-> cmathctgmath

句法 :

Parameters: x, value to be rounded
double round (double x);
float round (float x);
long double round (long double x);
double round (T x);           
// additional overloads for integral types

Returns: The value of x rounded to the nearest 
integral (as a floating-point value).
// C++ code to demonstrate the
// use of round() function
#include 
#include 
using namespace std;
  
// Driver program
int main()
{
    // initializing value
    double x = 12.5, y = 13.3, z = 14.8;
  
    // Displaying the nearest values
    // of x, y and z
    cout << "Nearest value of x :" << round(x) << "\n";
    cout << "Nearest value of y :" << round(y) << "\n";
    cout << "Nearest value of z :" << round(z) << "\n";
  
    // For lround
    cout << "lround(-0.0) = " << lround(-0.0) << "\n";
    cout << "lround(2.3) = " << lround(2.3) << "\n";
    cout << "lround(2.5) = " << lround(2.5) << "\n";
    cout << "lround(2.7) = " << lround(2.7) << "\n";
    cout << "lround(-2.3) = " << lround(-2.3) << "\n";
    cout << "lround(-2.5) = " << lround(-2.5) << "\n";
    cout << "lround(-2.7) = " << lround(-2.7) << "\n";
  
    // For llround
    cout << "llround(-0.01234) = " << llround(-0.01234) << "\n";
    cout << "llround(2.3563) = " << llround(2.3563) << "\n";
    cout << "llround(2.555) = " << llround(2.555) << "\n";
    cout << "llround(2.7896) = " << llround(2.7896) << "\n";
    cout << "llround(-2.323) = " << llround(-2.323) << "\n";
    cout << "llround(-2.5258) = " << llround(-2.5258) << "\n";
    cout << "llround(-2.71236) = " << llround(-2.71236) << "\n";
  
    return 0;
}

输出:

Nearest value of x :13
Nearest value of y :13
Nearest value of z :15
lround(-0.0) = 0
lround(2.3) = 2
lround(2.5) = 3
lround(2.7) = 3
lround(-2.3) = -2
lround(-2.5) = -3
lround(-2.7) = -3
llround(-0.01234) = 0
llround(2.3563) = 2
llround(2.555) = 3
llround(2.7896) = 3
llround(-2.323) = -2
llround(-2.5258) = -3
llround(-2.71236) = -3

在这里,在上面的程序中,我们刚刚计算了给定float或double值的最接近整数值。
准确计算出来的

可能的应用

  1. 处理分数和小数之间的不匹配:舍入数字的一种用法是将1/3转换为十进制时,将所有三位数字都缩短到小数点右边。在大多数情况下,当我们需要使用十进制的1/3时,我们将使用四舍五入的数字0.33或0.333。当与小数点后的小数位数不完全相同时,我们通常只使用小数点右边的两位或三位数。
  2. 改变相乘的结果: 25、75和0.25、0.75的乘积之间会有差,我们得到0.875。我们从小数点右边的2位数字开始,最后以4结尾。很多时候,我们将结果四舍五入为0.19。
    // C+++ code for above explanation
    #include 
    #include 
    using namespace std;
      
    // Driver program
    int main()
    {
        // Initializing values for int type
        long int a1 = 25, b1 = 30;
      
        // Initializing values for double type
        double a2 = .25, b2 = .30;
        long int ans_1 = (a1 * b1);
        double ans_2 = (a2 * b2);
      
        // Rounded result for both
        cout << "From first multiplication :" << round(ans_1) << "\n";
        cout << "From second multiplication :" << round(ans_2) << "\n";
        return 0;
    }
    

    输出:

    From first multiplication :750
        From second multiplication :0
    
  3. 快速计算:假设需要快速计算,我们取一个近似值,然后计算最接近的答案。例如,在进行任何计算后,我们得出的答案为298.78,四舍五入后得出的绝对答案为300。
  4. 获取估计值:有时您想舍入整数而不是十进制数。通常,您对四舍五入到10、100、1、000或百万的最接近的整数感兴趣。例如,在2006年,人口普查部门确定纽约市的人口为8、214、426。这个数字很难记住,如果我们说纽约市的人口为800万,这是一个很好的估计,因为它没有确切的数字没有任何实际的区别。

参考:www.mathworksheetcenter.com,www.cplusplus.com

要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”