在这里,我们将了解如何使用 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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。