以科学形式保存值的双重类型变量。让我们说
v=1.3657e-07
我想以-09的力量显示它。在标签中它应该看起来像
136.57
我该怎么做? iomanip有什么功能吗?还是需要手动完成?
答案 0 :(得分:3)
如果你的意思是,如何在C ++中将数字乘以10 9 ,那只是* 1e9
。
如果你的字面意思,如何用9的幂表示数字,即在基本9系统中,那么:
C ++中没有直接支持通用数字系统转换。
一种简单的方法是取9的数字对数。小数部分为您提供尾数,整数部分为您提供指数。然后计算尾数的基数9表示。
数x的基R对数是ln(x)/ ln(R)。
计算数字x <1的第一个基数为9的数字。 1,将它乘以9.砍掉那个数字,存储它,然后重复。基本上,乘法是将数字序列向左移1步。
答案 1 :(得分:2)
如果我正确理解了这个问题,你希望显示它,好像指数是-9而不是-7(在这种情况下你的数字是136.57
)。
要做到这一点,只需乘以正确的功率并使用所需的精度:
cout << fixed << setprecision( 2 ) << (v * 1e9)
希望这有帮助。