将具有各种浮点数的字符串转换为浮点数。

时间:2013-09-24 23:26:40

标签: c++ string floating-point type-conversion

我有一系列像这样的字符串 “50 50 10”

每个数字应该代表原点的x,y和z值。我想将此字符串的每个数字转换为实际的浮点数。

我尝试使用atof,但这只给了我第一个数字,在这种情况下为50。

有什么想法吗?

谢谢!

2 个答案:

答案 0 :(得分:3)

使用istringstream,

int main() {

    string s = "50 50 50";

    istringstream instream;
    instream.str(s);

    double a, b, c;
    instream >> a >> b >> c;
    return 0;
}

答案 1 :(得分:0)

执行此操作的最佳方法是使用字符串流。这个站点:has a great tutorial for it.它还允许从字符串直接转换为你需要的任何类型。 (在这种情况下是浮动。)