2010-05-15 157 views

回答

8
string doubleToStr(double d) 
{ 
    stringstream ss; 
    ss << fixed << setprecision(400) << d; 
    return ss.str(); 

} 
2

看起来你可以这样做:

printf("%.999f", x); 

随着1e-200,您可以:

0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999982100262399082759596054411789289747099615053598246562490947497936721972131756201804197021570455030299293624922494821832383011632557906373552085962098408476913455489082859886355453662043973282024133154067230851267975426859535195138290147135230492006 4954568524027925980061836920599672604679919133131325752127067572867114833324440862265532435494287445976335078589119159474703853650968495892746707328834776970293406573920527864300486054644847962408236227259004848949563992732691986020654439926147460937500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

你可以选择做输出的进一步处理(如消除更多的精确数字比你的需要)。

2

我需要在这里得到一个图形,你会受到伤害。将浮点数转换为其十进制表示只应该有以帮助人类看它。经过几天的眼球数字格式化,这个人会打猎你,打败你的生活垃圾。

0

由于C++ 11只使用to_string(double val)<string>

相关问题