[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

Popular

[HTML] Jak wstawić obrazek?

[C++] Jak obliczyć pole i obwód trapezu?

[PHP] Jak pobrać adres strony?