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


C/C++ atol(), atoll() and atof()用法及代碼示例


  1. atol():此函數將作為參數傳遞給函數調用的C-type字符串轉換為長整數。它解析C-string str,將其內容解釋為整數,並作為long int類型的值返回。該函數丟棄出現在字符串開頭的空白字符,直到找到非空白字符為止。如果C-string str中的非空白字符序列不是有效的整數,或者由於str為空或僅包含空白字符而不存在這樣的序列,則不執行任何轉換並返回零。

    用法:

    long int atol ( const char * str )
    

    參數:該函數接受一個強製性參數str,它是整數的表示形式。

    返回值:該函數將轉換後的整數返回為long int。如果無法執行有效的轉換,則返回零。


    // CPP program to illustrate 
    // working of atol() function. 
    #include <bits/stdc++.h> 
    using namespace std; 
      
    int main() 
    { 
        // char array of numbers 
        char str1[] = "5672345"; 
      
        // Function calling to convert to a long int 
        long int num1 = atol(str1); 
      
        cout << "Number is " << num1 << "\n"; 
      
        // char array of numbers of spaces 
        char str2[] = "10000002  0"; 
      
        // Function calling to convert to a long int 
        long int num2 = atol(str2); 
      
        cout << "Number is " << num2 << "\n"; 
        return 0; 
    }
    輸出:
    Number is 5672345
    Number is 10000002
    
  2. atoll():此函數將作為參數傳遞給函數調用的C-type字符串轉換為long long整數。它解析C-string str,將其內容解釋為整數,並作為long long int類型的值返回。該函數丟棄出現在字符串開頭的空白字符,直到找到非空白字符為止。
    如果C-string str中的非空白字符序列不是有效的整數,或者由於str為空或僅包含空白字符而不存在這樣的序列,則不執行任何轉換並返回零。

    用法:

    long long int atoll ( const char * str )
    

    參數:該函數接受強製性參數str,該參數表示整數。

    返回值:該函數將轉換後的整數返回為long long int。如果無法執行有效的轉換,則返回零。

    // CPP program to illustrate 
    // working of atol() function. 
    #include <bits/stdc++.h> 
    using namespace std; 
      
    int main() 
    { 
        // char array of numbers 
        char big_num1[] = "8239206483232728"; 
      
        // Function calling to convert to a long int 
        long long int num1 = atoll(big_num1); 
      
        cout << "Number is " << num1 << "\n"; 
      
        // char array of numbers of spaces 
        char big_num2[] = "100000 9 1324100"; 
      
        // Function calling to convert to a long int 
        long long int num2 = atoll(big_num2); 
      
        cout << "Number is " << num2 << "\n"; 
        return 0; 
    }
    輸出:
    Number is 8239206483232728
    Number is 100000
    
  3. atof()函數:此函數將作為參數傳遞給函數調用的C-type字符串轉換為雙精度。它解析C-string str,將其內容解釋為浮點數,該浮點數作為double類型的值返回。該函數丟棄出現在字符串開頭的空白字符,直到找到非空白字符為止。如果C-string str中的非空白字符序列不是有效的浮點數,或者由於str為空或僅包含空白字符而不存在這樣的序列,則不執行任何轉換並返回0.0。

    用法:

    double atol ( const char * str )
    

    參數:該函數接受單個強製參數str,該參數表示浮點數。

    返回值:該函數將轉換後的浮點數作為雙精度值返回。如果無法執行有效的轉換,則該函數將返回零(0.0)。

    返回值:

    // CPP program to illustrate 
    // working of atol() function. 
    #include <bits/stdc++.h> 
    using namespace std; 
      
    int main() 
    { 
        // char array 
        char pi[] = "3.1415926535"; 
      
        // Calling function to convert to a double 
        double pi_val = atof(pi); 
      
        // prints the double value 
        cout << "Value of pi = " << pi_val << "\n"; 
      
        // char array 
        char acc_g[] = "9.8"; 
      
        // Calling function to convert to a double 
        double acc_g_val = atof(acc_g); 
      
        // prints the double value 
        cout << "Value of acceleration due to gravity = "
             << acc_g_val << "\n"; 
        return 0; 
    }
    輸出:
    Value of pi = 3.14159
    Value of acceleration due to gravity = 9.8
    


相關用法


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