Я очень новичок в MFC, и теперь я хочу преобразовать экспоненциальные числа "4.246E + 3" в 4246.
Вход в строку и вывод. Я хочу получить его в int.
Пожалуйста, дайте мне знать, если у нас есть какой-либо способ (API), чтобы получить его в MFC, C++.
Спасибо MAP
Следующий код будет отлично работать, чтобы решить вашу проблему...
#include<sstream>
string str = "4.246e+3";
stringstream ss;
double number;
ss<<str;
ss>>number;
stringstream
из строки. ( stringstream ss(str);
)
Вы можете использовать стандартную библиотечную функцию, которая позволяет str
быть в научной нотации.
int stoi (const string& str, size_t* idx = 0, int base = 10);
Если вы idx
и он вернется nullptr
тогда str
будет чистым номером, если нет, то он вернет адрес первого недопустимого символа на str
.
Лучше использовать стандартные библиотечные функции C++, а не MFC, когда это возможно, чтобы помочь в любом будущем переносе из MFC.