【问题标题】:string parsing to double fails in C++在 C++ 中将字符串解析为 double 失败
【发布时间】:2010-04-14 02:51:18
【问题描述】:

这是一个有趣的问题,我一直在试图弄清楚。我有以下程序:

#include <iostream>
#include <string>
#include <sstream>

using namespace std;

int main(int argc, char *argv[])
{
    string s("5");
    istringstream stream(s);

    double theValue;
    stream >> theValue;

    cout << theValue << endl;
    cout << stream.fail();
}

输出是:

0
1

我不明白为什么会失败。有人可以告诉我我做错了什么吗?

谢谢,

螺旋形

编辑:

好的,很抱歉把它变成double post,但这看起来像是 Xcode 特有的问题。如果我在 g++ 中编译它,代码可以正常工作。有谁知道为什么在 Xcode 中会发生这种情况,以及我该如何解决它?

【问题讨论】:

    标签: c++ string xcode parsing double


    【解决方案1】:

    您确定这正是您正在构建的吗?我按预期得到了50

    【讨论】:

    • 好的,所以这在 g++ 中运行良好。我在上面编辑了我的帖子。感谢您的快速回复。
    【解决方案2】:

    也许这是您遇到的问题:stringstream question

    请参阅 accepted answerlink therein。 Apple 讨论链接中的一个示例听起来很像您正在经历的。

    【讨论】:

    • 这就是问题所在。它修复了我的两个帖子的输出。令人惊讶的是,Apple 会放过这样的错误。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-18
    • 1970-01-01
    相关资源
    最近更新 更多