【发布时间】:2014-01-01 23:39:07
【问题描述】:
我需要将字符串转换为精度不超过 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 位精度,因为我需要变量内的所有数字,而不仅仅是在我将其打印到屏幕上时。
有人知道怎么做吗?
【问题讨论】:
标签: c++ string double atof strtod