如何根据任何所需功率显示任何功率的科学数量

时间:2016-07-20 03:58:50

标签: c++ qt

以科学形式保存值的双重类型变量。让我们说

v=1.3657e-07 

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

136.57 

我该怎么做? iomanip有什么功能吗?还是需要手动完成?

2 个答案:

答案 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)

希望这有帮助。