stod转换一些信号无花果切断

时间:2018-11-02 01:23:27

标签: c++ precision

我有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

1 个答案:

答案 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;