首页 > 解决方案 > C++ 向无序映射添加数据

问题描述

double从表中获取类型数据并将其传递给无序映射。

std::map<string, double> map_items;

for (unsigned int x = 0; x < array.size(); x++)
{
   string item = list[i];
   double data = array[x]; // error: a value of type "char *" cannot be used to initialize an entity of type "double"
   map_items[item] = data

我意识到 data[x] 不是双精度数,但基础数据是。我应该如何格式化它以将数据发送到地图?

标签: c++

解决方案


我猜你在问如何将字符串转换为双精度(这就是我如何解释短语“数组 [x] 本身不是双精度,但它代表双精度”)。

您可以使用该std::stod功能:

double stod (const string&  str, size_t* idx = 0);
double stod (const wstring& str, size_t* idx = 0);

推荐阅读