我有2个字符串lat long值,我想将其转换为双精度值。当我运行stod函数时,已从原始字符串中切除了一些信号图。
double latitude = stod(latstr);
double longitude = stod(longstr);
cout<<"String values:"<<latstr<<","<<longstr<<endl;
cout<<"Double values:"<<latitude<<","<<longitude<<endl;
输出:
String values:21.13134532, -155.325334532
Double values:21.131, -155.325
答案 0 :(得分:1)
问题不是stod()
,而是问题是如何使用cout
将双精度图形打印到屏幕上。可以使用std::setprecision进行更改。
// ...
#include <iomanip>
// ...
double latitude = stod(latstr);
double longitude = stod(longstr);
cout << "String values:" << latstr << "," << longstr << endl;
cout << "Double values:" << std::setprecision(10) << latitude << "," << longitude << endl;