使用pow产生意想不到的结果

Lum*_*mpi 0 c++ math pow

我试图在c ++中使用pow函数,但结果不是我所期望的.片段:

#include <math.h>
float floatcopy = boost::lexical_cast<float>(copy); //Then floatcopy is 2.300000    
float exponent = boost::lexical_cast<float>(copy[foundEXP+1]); // Then exponent is 5.00000    
floatcopy = pow(floatcopy*10,-exponent);
Run Code Online (Sandbox Code Playgroud)

现在,当我的计算器(或在我脑海中)输入2.3*10 ^ -5时,我按预期得到:0.0000230

上面的剪辑结果是1.5536773e-007

这里有什么问题??

Hen*_*rik 6

你的计算器正在计算2.3*(10 ^ -5).在您的代码中,您计算​​(2.3*10)^ - 5.