當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C++ round()用法及代碼示例


round用於舍入給定的數字,該數字可以是float或double。它將舍入函數中提供的參數返回最接近的整數值,中間情況舍入為零。代替round(),也可以使用std::round(。使用的頭文件-> cmath,ctgmath

用法:

參數: 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

返回: The value of x rounded to the nearest 
integral (as a floating-point value).
// C++ code to demonstrate the 
// use of round() function 
#include <cmath> 
#include <iostream> 
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值的最接近整數值。
已被準確計算。

Possible Applications

  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 <cmath> 
    #include <iostream> 
    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



相關用法


注:本文由純淨天空篩選整理自himanshu_300大神的英文原創作品 round() in C++。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。