c++ - 错误 : invalid cast from string to double. 如何从字符串转换为 double ?

标签 c++

<分区>

Possible Duplicate:
How can I convert string to double in C++?

如何在 C++ 中将字符串转换为 double?

我有一个包含数字的字符串 vector ,我想将它复制到一个 double 类型的 vector 中

while (cin >> sample_string)
    {
        vector_string.push_back(sample_string);
    }

    for(int i = 0; i <= vector_string.size(); i++)
    {
        if(i != 0 && i != 2 && i != vector_string.size()-1)
            vector_double.push_back((double)vector_string[i]);
    }

编辑:我不能使用 BOOST

最佳答案

我认为您应该使用 STL 提供的 stringstream 类。它使您能够从字符串转换为 double ,反之亦然。这样的事情应该有效:

#include <sstream>
string val = "156.99";
stringstream s;
double d = 0;
s << val;
s >> d;

关于c++ - 错误 : invalid cast from string to double. 如何从字符串转换为 double ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7984527/

相关文章:

c++ - 如何为具有指针 vector 的类创建复制函数?

c++ - 在 C++ 中从文件末尾读取最有效的方法是什么? (解析文件中的最后 128 位)

c++ - 如何从 Scan0 创建位图/图像?

c++ - Unix 数据报套接字仅适用于第一帧

c++ - strtod 和下溢

c++ - InternetQueryOption(..) 失败并且 GetLastError() 总是返回 122 (ERROR_INSUFFICIENT_BUFFER)

来自 C++ 应用程序的 Python C API - 知道何时锁定

c++ - 做一个静态断言模板类型是另一个模板

C++ 模板和类

c++ - 为什么它在这里使用 void** ?