当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。