我有一个用户输入的字符串,例如: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。
答案 0 :(得分:2)
如前所述,您实际上想要评估数学表达式。这不能在C ++中开箱即用,但有像this one这样的解析器/评估器,可以帮助您实现您想要的目标。
尝试一下,如果出现问题,请使用试用代码返回。