Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 有没有办法设置浮点变量=某个数字*字符串中的变量_C++_String_Casting - Fatal编程技术网

C++ 有没有办法设置浮点变量=某个数字*字符串中的变量

C++ 有没有办法设置浮点变量=某个数字*字符串中的变量,c++,string,casting,C++,String,Casting,我有一个用户输入的字符串,例如:4-x^2 createReadableFunction接收该字符串并输出一个字符串,该字符串将第一个字母(在本例中为x)更改为(a+x*d) 但是,此函数只是将_函数设置为4,而不是4-(a+x*d)^2 tldr我希望浮点数的定义类似于_function=4-(a+x*d)^2,但通过将字符串转换为浮点数。如前所述,您实际上希望计算数学表达式。这在C++中是不可能完成的,但是有一些解析器/评估器,它可以帮助你实现你想要的。 如果出现问题,请尝试一下并返回试用代

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

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

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


tldr我希望浮点数的定义类似于_function=4-(a+x*d)^2,但通过将字符串转换为浮点数。

如前所述,您实际上希望计算数学表达式。这在C++中是不可能完成的,但是有一些解析器/评估器,它可以帮助你实现你想要的。
如果出现问题,请尝试一下并返回试用代码。

C++不是JavaScript。没有像从字符串计算表达式这样的事情。所以没有办法做到这一点?没有,除非你自己编写一个解析器并计算解析后的表达式。但这远比在这里的几段中解释的要多。也许使用一些LLVM库就可以做到这一点。
functionString = createReadableFunction(functionString);
cout << "Function is: " << functionString << endl;
_function = std::atof(functionString.c_str());