是否有一个很好的C ++工具来解析小数?

时间:2015-03-07 05:56:26

标签: c++ algorithm c++11

我的代码中有一个位置,我有iter类型的元素std::string::const_iterator,如果*iter是小数的开头(即表单字符串的开头) -00.01.6012319.199等)然后我想提前iter,直到它通过十进制字符串并且我想要存储十进制字符串。

对于场景的具体设置:

for (std::string::const_iterator iter(str.begin()), offend(str.end()); iter != offend; ++iter)
{
    if (iter == '(')
    {
       //... blah blah blah
    }
    else if (iter is the beginning of a decimal representation)
    {
       parse the decimal representation, store it in a string, advance iter to the character at the end of the decimal representation (or to offend -- whichever comes first)
    }
    else if (some other condition involving iter)
    {
       // ... blah blah blah
    } 
    //...
} 

我可以为此方案使用C++工具吗?

1 个答案:

答案 0 :(得分:5)

如果我理解你的问题,你可以使用std::stod将捕获的字符串转换为double。如果您只想将十进制保留为字符串格式并因此从其他字符串中提取,则可以使用string::substr进行提取。