有没有办法设置一个浮点变量=一些数字*一个字符串变量

时间:2016-01-09 21:36:39

标签: c++ string casting

我有一个用户输入的字符串,例如:4-x ^ 2.

createReadableFunction接受该字符串并输出一个字符串,该字符串将第一个字母(在本例中为x)更改为(a + x * d)

functionString = createReadableFunction(functionString);
cout << "Function is: " << functionString << endl;

所以现在functionString是4-(a + x * d)^ 2

我希望这个字符串定义一个浮点数,例如

_function = std::atof(functionString.c_str());

但是,此函数只是将_function设置为4而不是4-(a + x * d)^ 2

tldr; 我希望将float定义为_function = 4-(a + x * d)^ 2,但是将字符串转换为float。

1 个答案:

答案 0 :(得分:2)

如前所述,您实际上想要评估数学表达式。这不能在C ++中开箱即用,但有像this one这样的解析器/评估器,可以帮助您实现您想要的目标。

尝试一下,如果出现问题,请使用试用代码返回。