std::string如何转double?
时间: 2023-11-14 21:06:49 浏览: 87
可以使用stod函数将std::string类型转换为double类型。
示例代码:
```c++
#include <iostream>
#include <string>
int main() {
std::string str("3.14159");
double d = std::stod(str);
std::cout << d << std::endl;
return 0;
}
```
输出结果:
```
3.14159
```
相关问题
std::map<std::string, double,double> map; std::tuple<std::string, double,double> p = std::make_tuple(“1”,2,3);map.insert(p);有问题吗
有问题,`std::map`的键值对是由一个键和一个值组成的,而`std::map<std::string, double,double>`中的模板参数只有两个,分别是键的类型`std::string`和值的类型`double`,不能再添加第三个参数。因此,你可以将模板参数修改为`std::map<std::tuple<std::string, double, double>, double>`,其中键是一个包含两个`double`类型和一个`std::string`类型的`std::tuple`,值是一个`double`类型的数据。修改后的代码如下所示:
```
std::map<std::tuple<std::string, double, double>, double> map;
std::tuple<std::string, double, double> p = std::make_tuple("1", 2.0, 3.0);
map.insert(std::make_pair(p, 4.0));
```
这样就可以将键为`("1", 2.0, 3.0)`,值为`4.0`的键值对插入到`map`中了。
D:\work\f1_test\build-F1-Replacement_for_Desktop_Qt_5_15_2_MSVC2019_64bit-Debug\vcpkg_installed\x64-windows\include\nlohmann\detail\conversions\from_json.hpp:329: error: C2280: 'std::pair<const std::string,double> &std::pair<const std::string,double>::operator =(volatile const std::pair<const std::string,double> &)': attempting to reference a deleted function D:\work\f1_test\build-F1-Replacement_for_Desktop_Qt_5_15_2_MSVC2019_64bit-Debug\vcpkg_installed\x64-windows\include\nlohmann/detail/conversions/from_json.hpp(329): error C2280: 'std::pair<const std::string,double> &std::pair<const std::string,double>::operator =(volatile const std::pair<const std::string,double> &)': attempting to reference a deleted function D:\vs2019\2019install\VC\Tools\MSVC\14.29.30133\include\utility(269): note: see declaration of 'std::pair<const std::string,double>::operator =' D:\vs2019\2019install\VC\Tools\MSVC\14.29.30133\include\utility(269): note: 'std::pair<const std::string,double> &std::pair<const std::string,double>::operator =(volatile const std::pair<const std::string,double> &)': function was explicitly deleted D:\work\f1_test\build-F1-Replacement_for_Desktop_Qt_5_15_2_MSVC2019_64bit-Debug\vcpkg_installed\x64-windows\include\nlohmann/detail/conversions/from_json.hpp(391): note: see reference to function template instantiation 'void nlohmann::detail::from_json<BasicJsonType,const std::string,double>(const BasicJsonType &,std::pair<const std::string,double> &)' being compiled
这是一段编译错误信息,看起来是在使用nlohmann库中的from_json函数时发生了错误。具体来说,是在尝试给一个被声明为不可复制的const std::pair<const std::string,double>类型对象赋值时出现了问题。这可能与编译器版本、代码实现方式或使用的库版本有关。建议检查代码中对该对象的使用,以及相关库的版本和使用方式,以解决此问题。
阅读全文