以科学形式保存值的双重类型变量。比如
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)
希望这能有所帮助。