如何在C++中不使用科学记数法将double转换为浮点字符串表示形式。 “小” 样品(有效数字可以是任何尺寸的,例如1.5E200或1E-200):如何将double转换为C++中的字符串(无科学记数法)?
0.0000000000000000000000000000000000000000000000000000000023897356978234562
谢谢。
如何在C++中不使用科学记数法将double转换为浮点字符串表示形式。 “小” 样品(有效数字可以是任何尺寸的,例如1.5E200或1E-200):如何将double转换为C++中的字符串(无科学记数法)?
0.0000000000000000000000000000000000000000000000000000000023897356978234562
谢谢。
string doubleToStr(double d)
{
stringstream ss;
ss << fixed << setprecision(400) << d;
return ss.str();
}
看起来你可以这样做:
printf("%.999f", x);
随着1e-200
,您可以:
0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999982100262399082759596054411789289747099615053598246562490947497936721972131756201804197021570455030299293624922494821832383011632557906373552085962098408476913455489082859886355453662043973282024133154067230851267975426859535195138290147135230492006 4954568524027925980061836920599672604679919133131325752127067572867114833324440862265532435494287445976335078589119159474703853650968495892746707328834776970293406573920527864300486054644847962408236227259004848949563992732691986020654439926147460937500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
你可以选择做输出的进一步处理(如消除更多的精确数字比你的需要)。
我需要在这里得到一个图形,你会受到伤害。将浮点数转换为其十进制表示只应该有以帮助人类看它。经过几天的眼球数字格式化,这个人会打猎你,打败你的生活垃圾。
由于C++ 11只使用to_string(double val)
从<string>
。