如何用任何期望的幂来显示任何幂的科学数



以科学形式保存值的双重类型变量。比如

v=1.3657e-07 

我想用-09的力量来展示它。在标签中,它应该看起来像

136.57 

我该怎么做?iomanip中有函数吗?还是需要手动完成?

如果你的意思是,在C++中如何将一个数字乘以109,那就是简单的* 1e9

如果你的字面意思是,如何用9的幂表示数字,即在基本9系统中,那么:

C++中不直接支持一般的数字系统转换。

一个简单的方法是取9的对数。小数部分给出尾数,整数部分给出指数。然后计算尾数的基数为9的表示。

数字x的R底对数是ln(x)/ln(R)。

为了计算数字x<1乘以9。切掉那个数字,储存起来,然后重复。本质上,乘法是将数字序列向左移动一步。

如果我正确理解这个问题,您希望将其显示为指数是-9而不是-7(在这种情况下,您的数字将是136.57)。

要做到这一点,只需乘以正确的幂,并使用所需的精度:

cout << fixed << setprecision( 2 ) << (v * 1e9)

希望这能有所帮助。

最新更新