在這裏,我們將了解如何使用 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
相關用法
- C++ Stack emplace()用法及代碼示例
- C++ Stack empty()用法及代碼示例
- C++ Stack pop()用法及代碼示例
- C++ Stack push()用法及代碼示例
- C++ Stack size()用法及代碼示例
- C++ String Assign()用法及代碼示例
- C++ String Data()用法及代碼示例
- C++ String Find()用法及代碼示例
- C++ String append()用法及代碼示例
- C++ String at()用法及代碼示例
- C++ String back()用法及代碼示例
- C++ String begin()用法及代碼示例
- C++ String c_str()用法及代碼示例
- C++ String capacity()用法及代碼示例
- C++ String cbegin()用法及代碼示例
- C++ String cend()用法及代碼示例
- C++ String clear()用法及代碼示例
- C++ String compare()用法及代碼示例
- C++ String copy()用法及代碼示例
- C++ String crbegin()用法及代碼示例
- C++ String crend()用法及代碼示例
- C++ String empty()用法及代碼示例
- C++ String end()用法及代碼示例
- C++ String erase()用法及代碼示例
- C++ String find_first_not_of()用法及代碼示例
注:本文由純淨天空篩選整理自captain_10大神的英文原創作品 C++ Program to Convert Scientific Notation to Decimal。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。