Не удалось найти ответ на следующий вопрос:
Я новичок в C ++ и сейчас делаю несколько тестов. Я использую функции std :: fixed и std :: setprecision, чтобы получить десятичное число с 5 нулями. Это работает с использованием cout, но я понятия не имею, как присвоить результаты переменной вместо того, чтобы печатать их с помощью cout.
//Works
int fetchJD(std::string str) {
std::cout << std::fixed << std::setprecision(0) << str;
return 0;
}
Я пробовал что-то вроде использования sstream, но всякий раз, когда я пытаюсь присвоить результаты другой строке, чтобы я мог вернуть результаты, допускается сбой компилятора.
// Not working
int fetchJD(std::string str)
{
std::stringstream ss;
string temp;
ss << std::fixed << std::setprecision(0) << str;
temp = ss.str();
return temp;
}
Что приводит к ошибке компилятора:
In function ‘int fetchJD(std::__cxx11::string)’:
astroapp.cpp:43:12: error: cannot convert ‘std::__cxx11::string {aka
std::__cxx11::basic_string<char>}’ to ‘int’ in return
return temp;
Так как я могу передать результаты из std :: fixed << std :: setprecision (0) << str; в другую строку? </p>