Конвертация строки в double в Си: примеры и объяснения
Для преобразования строки типа `const char*` в тип `double` в C++ можно использовать функцию `strtod`.
Пример:
cpp
#include
#include
#include
int main()
{
std::string str = "3.14";
const char* c_str = str.c_str();
double d = strtod(c_str, nullptr);
std::cout << d << std::endl; // выводит 3.14
return 0;
}
В данном примере строка `"3.14"` преобразуется в тип `const char*` с помощью метода `c_str()` класса `std::string`.
Затем функция `strtod` используется для преобразования этой строки в тип `double`.
Первый аргумент функции `strtod` - это указатель на строку для преобразования, а второй аргумент - это указатель на указатель, который будет указывать на первый символ, не преобразованный в число. Если значение указателя равно `nullptr`, то этот аргумент игнорируется.
Преобразование строки `"3.14"` в тип `double` выполняется успешно, и значение `3.14` сохраняется в переменной `d`.
Кроме того, функция `strtod` также может использоваться для обработки строк, которые содержат научную нотацию, например, `"1.23e-2"`.