[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.1std::cout << int_type_2 << "\n";
// Wyświetli: 5.2std::cout << int_type_3 << "\n";
// Wyświetli: 1std::cout << int_type_4 << "\n";
// Wyświetli: 4000return 0; }
Komentarze
Prześlij komentarz
Dzięki za komentarz!