我需要将字符串转换为精度高达 15 位的双精度
我读过很多文章和类似的问题,他们建议在将数字打印到屏幕时使用 setprecision(15) 。
例如:
string line = "34.9438553";
double lon1 = strtod(line.c_str(),NULL);
如果我写
cout << lon1;
它只会打印 34.9439 而不是 34.9438553
我本来可以写的
cout << setprecision(15) << lon1;
它会起作用,但我需要变量 lon1 本身具有 15 位精度,因为我需要变量内的整个数字,而不仅仅是当我将它打印到屏幕上时。
有谁知道该怎么做?