C ++ Convert Int na ciąg

C ++ Convert Int na ciąg
Konwersja danych na dwa typy danych jest powszechnym zjawiskiem w języku programowania C ++. Podobnie konwersja danych typu liczb całkowitych do ciągu jest opisana w tym przewodniku. Oba typy danych można przekonwertować na kilka sposobów.

Typ danych liczb całkowitych jest prostym typem zmiennej, która przechowuje dane tylko w postaci zmiennych. Nie ma określonych funkcji, które są stosowane tylko do liczb całkowitych. Podczas gdy ciąg jest typem danych, który ma domyślnie kilka funkcji, które są do nich zastosowane. Strings przechowuj dane w postaci odwróconych przecinków. Przekształciliśmy wartości liczb całkowitych i pływakowych w ciągu za pomocą jednej z jego wbudowanych funkcji. W przypadku ciągów obowiązkowe jest użycie biblioteki ciągów.

Implementacja w celu konwersji liczby całkowitych na ciąg

Przykład 1

Proces przekształcania liczby całkowitej na ciąg można wykonać poprzez różne podejścia. Ale jednym z podstawowych podejść jest użycie wbudowanej funkcji „to-String ()”. Jest to bezpośrednia konwersja wartości wejściowej w ciągu. Wzięliśmy tutaj dwa dane wejściowe różnych typów danych. Jeden jest w liczbie całkowitej, a drugi jest wartością pływową. Aby osiągnąć konwersję, potrzebujemy dwóch bibliotek do dodania do kodu źródłowego. Jednym z nich jest „iostream”, który jest wymagany dla CIN i cout danych w programie, ponieważ musimy wyświetlać wynikową wartość, więc potrzebujemy tej biblioteki. Podobnie konwersja jest w typu danych ciągów, więc użyjemy biblioteki ciągu. Ta biblioteka jest odpowiedzialna za wszystkie operacje i funkcje stosowane i za pomocą strun w C++.

#włączać
#włączać

Ten program zawiera zaangażowanie prostej funkcji strun. Dwie zmienne są tutaj zadeklarowane. Jeden będzie zawierać wartość liczb całkowitą, a druga będzie miała wartość zmiennoprzecinkową. Zastosujemy funkcję „to_string ()” na obu zmiennych. Ta funkcja zawiera zmienną jako parametr, a następnie przekształca je w ciąg.

String stri = to_string (i_val);

Obiekt typu ciągu lub zmienna jest tutaj, który będzie przechowywać w nim konwertowany ciąg, a ten obiekt zostanie użyty do wyświetlania wynikowej wartości. Podobne stwierdzenie będzie miało wartość zmiennoprzecinkową, jak użyliśmy dla liczby całkowitej.

Po zapisaniu kodu źródłowego w pliku zapisamy go, a następnie skompilujemy kod za pomocą kompilatora G++. -O Słowo kluczowe zostanie użyte do zapisania wyjścia w pliku wyjściowym, a plik wejściowy, w którym napisałeś kod źródłowy, zostanie użyte.

$ g ++ -o int int.C
$ ./int

Po wykonaniu zobaczysz, że zarówno wartości liczby całkowitej, jak i pływakowe stały się ciągami. Wartość zmiennoprzecinka zawiera dodatkowe cyfry w wynikowej wartości, dzieje się tak ze względu na funkcję To_String (). Teraz pojawia się pytanie, w jaki sposób potwierasz, że konwersja odbywa się pomyślnie lub te wartości są ciągi lub nadal liczbami całkowitymi? Ponieważ nie ma wskazówki ani żadnego punktu, który potwierdza, że ​​jest to ciąg.

Ta dwuznaczność jest prawidłowa, ponieważ funkcja łańcucha zastosowana powyżej jest kompletną metodą, ale nadal wynikowe wartości nie są wystarczające do wyjaśnienia.

Zastosujemy więc wbudowaną funkcję ciągów, aby sprawdzić, czy obie wynikające wartości są w ciągu. Ta funkcja dołącza (). Ta funkcja jest w stanie dodać dwa struny. Wymóg to jest to, że zarówno wartości, które mają zostać dodane, muszą być ciągi, w przeciwnym razie ta funkcja nie zadziała. Dlatego zastosujemy tę funkcję, gdy obie wartości wejściowe są konwertowane w ciągu. Tak więc zastosowaliśmy tę funkcję na obu wartościach w ciągach po konwersji z wartości liczb całkowitych i pływaków.

Stri.append (STRF);

Ponieważ Stri zawiera ciąg liczb całkowitych, a STRF zawiera ciąg pływaków.

Po zastosowaniu tej funkcji wyświetlimy wyniki tej funkcji.

Zobaczysz, że oba ciągi są dodawane za pomocą tej funkcji dodatkowej. Stąd udowodniono, że obie konwertowane wartości to ciągi.

Przykład 2

Ten przykład dotyczy zaangażowania strumieni ciągów. Są to części ciągów, ale nie są zawarte w podstawowej bibliotece ciągów, dlatego musimy dodać osobny plik nagłówka do tego celu. To jest biblioteka „sstream”, która jest strumieniem ciągu. Dołącz także osobną bibliotekę dla ciągu, ponieważ musimy zastosować dowolną podstawową operację ciągu w kodzie źródłowym.

#włączać
#włączać
#włączać

Klasa Stringstream to klasa strumieniowa, która ma być stosowana tylko na strunach. Wdraża operacje wejściowe i wyjściowe w strumieniach podstawowych pamięci. Stringstream jest powiązany z obiektem stringowym, który pozwala nam odczytać z dowolnego ciągu. Niektóre podstawowe metody zawarte w strumieniach są wyczyściowe (), operator <<, str(). In this program, we will use operator <<, which is used to add a string to the stringstream object. And also str() function to set the object of string whose contents are present in the stream.

W programie głównym weźmiemy wartość całkowitą, którą przekształcimy w ciąg. Następnie strumień ciągu wyjściowego zostanie zadeklarowany przez deklarowanie obiektu ciągu.

OstringStream Str1.

Po tej deklaracji wyślemy liczbę obecną w zmiennej jako strumień do ciągu wyjściowego.

Str1 << num;
String Gek = Str1.str ()

Następnie zawartość zostanie wyświetlona. Teraz wynikowa wartość to ta sama liczba, ale typ danych wartości całkowitej jest zmieniany na ciąg.

Za pośrednictwem kompilatora po wykonaniu programu liczba zostanie wyświetlona.

Przykład 3

Trzecie podejście, które jest przydatne podczas konwersji liczby całkowitej na ciąg, jest użycie lexical_cast (). Obsada leksykalna jest używana i najpierw zdefiniowana w bibliotece „Boost/lexical_cast.HPP ”, zapewnia operator odlewania, który służy do konwersji liczby całkowitej na ciąg lub odwrotnie.

#włączać

Reszta bibliotek jest taka sama, jak opisano w powyższych przykładach łańcucha i strumienia wejściowego/wyjściowego.

W ramach programu głównego zadeklarowane są wartości pływakowe i całkowitowe. Obie wartości zostaną przekonwertowane na ciąg. Funkcja odlewu leksykalnego przyjmuje zmienną w parametrze konwersji, a następnie przekonwertowana wartość będzie przechowywana w zmiennej typu string.

String Strf = Boost :: lexical_cast(f_val);

To samo stwierdzenie zostanie również używane dla wartości zmiennoprzecinkowej. Wyświetl struny przez obiekty ciągów, które przechowywały zwrócone przekonwertowane wartości.

Po wykonaniu wynik będzie następujący.

Jak potwierdziliśmy wynikowe wartości jako ciąg w pierwszym przykładzie, możesz sprawdzić tę metodę również dla pozostałych dwóch przykładów.

Wniosek

„Int to String C ++” to artykuł na temat konwersji danych między dwoma podstawowymi typami danych C++. Podświetlone są trzy podstawowe metodologie, w tym funkcja „to_string ()”, „strumień” i funkcja Boost/lexical_cast (). Mamy nadzieję, że każda metoda będzie przydatna dla użytkowników w celu implementacji.