我试图将通过引用传递的字符串变量转换为小数。当我使用atoi在引号中放入一个字符串时,它可以工作,但不能使用字符串变量。我该怎么做呢?
void stringDecision(string& assembledString) {
double convertedString; // conversion to double
// remove unary + operator because it's unnecessary
if (assembledString[0] == '+' && assembledString.length() > 1)
{
assembledString.erase(0, 1);
cout << assembledString;
convertedString = atoi(assembledString);
}
else
{
cout << "I'm an operator " << assembledString;
}
}
答案 0 :(得分:5)
您需要std::stod
1
convertedString = std::stod(assembledString);
请注意,您可以也使用std::atof
,并将其传递给assembledString.c_str()
。但std::atoi
在这里没什么意义。
1除了atoi
用于转换为整数,而不是双倍