c++中如何把一个科学计数法的字符串分离输出他的正常数值??例如输入9.2*10^5输出92000

c++中如何把一个科学计数法的字符串分离输出他的正常数值??例如输入9.2*10^5输出920000

#include <iostream>

using namespace std;

class Algebra {
    private:
        double var;
    public:
        Algebra( double var=1 ): var( var ) {};
        
        Algebra operator^ ( int pwr ) {
            double res = this->var;
            Algebra answer(res);
            for ( int i=0; i<pwr-1; i++ ) {
                answer.var *= res; 
            }
            return answer;
        }
        
        friend ostream &operator<< ( ostream & o, const Algebra &a ) {
            o << a.var;
            return o;
        }
        friend Algebra operator* ( const Algebra &a, const Algebra &b ){
            return Algebra( a.var * b.var );
        }

};

int main(int argc, char *argv[]) {
    Algebra power(10.0);
    Algebra result = 9.5*(power^5);
    cout << result<< endl;
    cout << power << endl;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-05-18
将9.2E5的输出形式改为以double形式输出
第2个回答  2016-05-17
把*10^替换为E本回答被提问者采纳