Строка С++ для плавающей/двойной и наоборот

Опубликовано: 20 Февраля, 2023

В этой статье мы узнаем, как преобразовать String в Float/Double и наоборот. Для преобразования мы будем использовать следующие функции C++:

  1. std::stof() — преобразовать строку в число с плавающей запятой
  2. std::stod() — преобразовать строку в двойную
  3. std::atof() — преобразовать массив символов в двойной
  4. std::to_string — преобразовать число любого типа данных в строку

Преобразование строки в число с плавающей запятой/двойное число

1. Использование функций std::stof() и std::stod()

Функция stof() принимает строковый объект в качестве входных данных и возвращает число с плавающей запятой, соответствующее этой строке, в качестве выходных данных. С другой стороны , stod() принимает строку в качестве входных данных и возвращает двойной тип данных в качестве выходных данных.

Синтаксис:

float variable_name = std::stof(string_name);
double variable_name = std::stod(string_name);

Пример:

2. Использование функции std::atof()

В C++ массив символов может быть преобразован в любой числовой тип данных, такой как float/double, с помощью функции atof() . Эта функция принимает строку в качестве параметра и возвращает float/double в качестве вывода.

Синтаксис:

float variable_name = std::atof(string_name);
double variable_name = std::atof(string_name);

Пример:

C++




// C++ program to convert
// float/double into string
#include<bits/stdc++.h>
using namespace std;
  
int main()
{
    // Initializing the char array
    char str[] = "678.1234";
  
    // Converting char array to float
    float str_float = std::atof(str);
  
    // Converting char array to double
    double str_double = std::atof(str);
  
    cout<< "char array as float = " << str_float << endl;
    cout<< "char array as double = " << str_double << endl;
  
    return 0;
}

Преобразование числа с плавающей запятой/двойного числа в строку

1. Использование функции to_string()

Используя функцию std::to string() в C++11, мы можем преобразовывать типы данных float и double в строки.

Синтаксис:

string variable_name = std::to_string(number);

Здесь номер параметра может быть любого типа данных, например, float/double.

Пример:

2. Использование функции stringstream и str()

В этом подходе мы создаем объект stringstream с помощью std::stringstream в C++, а затем этому объекту присваивается значение. Значение может иметь любой тип данных, например, float/double. Затем этот объект преобразуется в строку с помощью функции str() в C++.

Пример: