如何解析字符串中的double?

时间:2011-11-03 02:50:48

标签: c++

我有以下代码,但它只将字符串转换为double。如果字符串包含字母,则会导致错误

 while (cin >> s){
        const char *c_ptr=s.c_str();
        d = atof(c_ptr);
        v.push_back(d);
    }

我想输入一个像“a1.2 3 4b”这样的字符串,并用“1.2 3 4”填充矢量

1 个答案:

答案 0 :(得分:1)

这个怎么样:

1) replace all chars in the string that aren't digits or decimal points by spaces
2) read doubles in a loop

因为你在解析双打前删除了字母,所以它们不应再造成问题。