如何在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>
。