[C++] Jak przekonwertować string na float?
W tym wpisie postaram się wytłumaczyć jak przekonwertować tekst zawierający w treści liczbę zmiennoprzecinkową. Do konwersji tekstu na liczbę zmiennoprzecinkową służy funkcja std::stof, która przyjmuje dwa argumenty, w tym jeden wymagany. Jak nie trudno się domyślić, wymaganym argumentem jest tekst do przekonwertowania na float. Kolejny argument to pozycja - wartość, która zostanie ustawiona na pozycję pierwszego znaku w podanym jako pierwszy argument ciągu znaków (domyślnie 0). Uwaga! Ta funkcja nie przekonwertuje ciągu na typ int. Aby przekonwertować string na typ int należy użyć funkcji std::stoi.
Przykład
#include <iostream>
#include <string>
int main() {
std::string text_1 = "11.1";
std::string text_2 = "5.2";
std::string text_3 = "1,2,3";
std::string text_4 = "4000";
float int_type_1 = std::stof(text_1);
float int_type_2 = std::stof(text_2);
float int_type_3 = std::stof(text_3);
float int_type_4 = std::stof(text_4);
std::cout << int_type_1 << "\n"; // Wyświetli: 11.1
std::cout << int_type_2 << "\n"; // Wyświetli: 5.2
std::cout << int_type_3 << "\n"; // Wyświetli: 1
std::cout << int_type_4 << "\n"; // Wyświetli: 4000
return 0;
}
Komentarze
Prześlij komentarz
Dzięki za komentarz!