It looks like you can do something like:
printf("%.999f", x);
With 1e-200
, you get:
0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009999999999999999821002623990827595960544117892897470996150535982465624909474979367219721317562018041970215704550302992936249224948218323830116325579063735520859620984084769134554890828598863554536620439732820241331540672308512679754268595351951382901471352304920064954568524027925980061836920599672604679919133131325752127067572867114833324440862265532435494287445976335078589119159474703853650968495892746707328834776970293406573920527864300486054644847962408236227259004848949563992732691986020654439926147460937500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
You may choose to do further processing of the output (such as eliminating more digits of precision than you need).