Имеется ли в с++ готовая функция которая бы могла попытаться преобразовать строку в число (double
к примеру), и при неудаче возвращала бы не ноль, а к примеру NAN
?
#include <iostream>
#include <cmath>
double my_atof(const char *str) {
double d;
try {
d = std::stod(str);
}
catch (...) {
return std::nan("");
}
return d;
}
int main() {
double d = my_atof("0");
std::cout << d << std::endl;
d = my_atof("0.0f");
std::cout << d << std::endl;
d = my_atof("3.445");
std::cout << d << std::endl;
d = my_atof("www");
std::cout << d << std::endl;
d = my_atof(" ");
std::cout << d << std::endl;
}
0
0
3.445
nan
nan
public:
static double ToDouble(
String^ value
)
Пример:
double targetNumber = Convert::ToDouble(value2);
"При неудаче" - try{} catch(...){}
в помощь
подскажите пожалуйста у меня в переменной int res не приводит к целому значению
Хочу переписать этот код с Go на C++/Boost ради опыта работы с библиотеками типа asio