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


C++ Scientific Notation轉Decimal用法及代碼示例


在這裏,我們將了解如何使用 C++ 程序將科學計數法轉換為小數。

例子:

1e9 = 1000000000

1e9 = 1000000000.000000

使用 pow(a,b) 函數計算功率

使用的頭文件:<數學.h>

pow 也稱為函數的冪。這裏,pow(a,b)是指b的冪。讓我們用一個例子來檢查一下:

2^3 = 8

pow(2,3) = 8       // Same as 2^3.

例子:

C++


// C++ Program to implement 
// pow function 
#include <iostream> 
#include <math.h> 
  
using namespace std; 
  
int main() 
{ 
    int n = 9; 
  
    cout << "pow(2,9) : " << pow(2, 9) << endl; 
    cout << "pow(10,n) : " << pow(10, n) << endl; 
  
    return 0; 
}
輸出
pow(2,9) : 512
pow(10,n) : 1e+09

在上麵的代碼中,這裏我們計算 10 的 n 次方,因為 n 是 9,所以本質上我們已經計算了 10 的 9 次方。但這裏的輸出是科學形式。因此我們將其轉換為十進製形式。

如何刪除科學記數法?

為了在我們的代碼中獲得非常精確的答案,我們需要用科學計數法來解決這個問題。科學記數法是 pow 返回小數或整數以外的值的數字,其原因是答案太長而無法顯示為整數或浮點數。

C++ 中刪除科學記數法的方法。有兩種方法可以獲得更精確的值:

  • 使用固定
  • 使用設置精度

1.使用fixed將科學數轉換為十進製數

Fix 關鍵字返回小數點後 6 位精確值。我們無法得到那個 6 的精確數字。

例子:

C++


// C++ Program to implement 
// fixed function 
#include <iostream> 
#include <math.h> 
using namespace std; 
  
int main() 
{ 
    int n = 9; 
    cout << "Using pow : " << pow(10, n) << endl; 
    cout << "Using fixed : " << fixed << pow(10, n) << endl; 
  
    return 0; 
}
輸出
Using pow : 1e+09
Using fixed : 1000000000.000000

在這裏我們可以看到我們將科學記數法轉換為十進製數。但問題是小數點後有 6 個零。因此,要確定小數點後需要多少個零,我們可以使用 set precision(x)。

2. 使用setpercision( ) 函數將科學數轉換為十進製數

使用的頭文件:<iomanip>
我們想要設置的小數點後的位數可以用 set precision( ) 來設置。

例子:

C++


// C++ Program to implement 
// setprecision() for  
// get a precised value 
#include <iomanip> 
#include <iostream> 
#include <math.h> 
using namespace std; 
  
int main() 
{ 
    int n = 9; 
    cout << pow(10, n) << endl; 
    
    cout << fixed << pow(10, n) << endl; 
    cout << fixed << setprecision(4) << pow(10, n) << endl; 
    cout << fixed << setprecision(3) << pow(10, n) << endl; 
    cout << fixed << setprecision(1) << pow(10, n) << endl; 
  
    return 0; 
}
輸出
1e+09
1000000000.000000
1000000000.0000
1000000000.000
1000000000.0


相關用法


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