logo

Převod čísla na řetězec v C++

V C++ je převod celých čísel na řetězce nebo převod čísel na řetězce nebo naopak ve skutečnosti sám o sobě velkou změnou paradigmatu. Obecně nebo konkrétněji v konkurenčním programování existuje mnoho případů, kdy potřebujeme převést číslo na řetězec nebo řetězec na číslo. Podívejme se na některé metody převodu celého čísla nebo čísla na řetězec.

Převod čísla na řetězec v C++

Existují 4 hlavní metody převodu čísla na řetězec , které jsou následující:



    Použití to_string() Použití streamování řetězců Použití funkce sprintf() Použití zesílení lexikálního přetypování

Metoda 1: Použití to_string()

The to_string() funkci lze použít k převodu celého čísla, hodnot s plovoucí desetinnou čárkou nebo libovolného čísla na řetězec. Tato funkce přijímá číslo (které může být libovolného datového typu) a vrací číslo jako požadovaný řetězec.

Syntax :

string  to_string (int val );>

Parametry:



  • val – Libovolná číselná hodnota.

Návratová hodnota:

  • Řetězcový objekt obsahující reprezentaci hodnoty jako posloupnost znaků.

Příklad :

může android hrát gamepigeon

C++






// C++ code to demonstrate 'to_string()' method> // to convert number to string.> #include> #include // for string and to_string()> using> namespace> std;> // Driver Code> int> main()> {> >// Declaring integer> >int> i_val = 20;> >// Declaring float> >float> f_val = 30.50;> >// Conversion of int into string using> >// to_string()> >string stri = to_string(i_val);> >// Conversion of float into string using> >// to_string()> >string strf = to_string(f_val);> >// Displaying the converted strings> >cout <<>'The integer in string is : '>;> >cout << stri << endl;> >cout <<>'The float in string is : '>;> >cout << strf << endl;> >return> 0;> }>

>

>

Výstup

The integer in string is : 20 The float in string is : 30.500000>

Časová náročnost: Na)
Pomocný prostor: Na)

kontrola java je nulová

Metoda 2: Použití řetězcových proudů

V této metodě proud řetězce deklaruje objekt proudu, který nejprve vloží číslo jako proud do objektu a poté použije str() sledovat vnitřní převod čísla na řetězec.

Příklad:

C++




// C++ code to demonstrate string stream method> // to convert number to string.> #include> #include // for string streams> #include // for string> using> namespace> std;> int> main()> {> >int> num = 2016;> >// declaring output string stream> >ostringstream str1;> >// Sending a number as a stream into output> >// string> >str1 << num;> >// the str() converts number into string> >string geek = str1.str();> >// Displaying the string> >cout <<>'The newly formed string from number is : '>;> >cout << geek << endl;> >return> 0;> }>

>

>

Výstup

The newly formed string from number is : 2016>

Časová náročnost: Na)
Pomocný prostor: Na)

Metoda 3: Použití funkce sprintf().

sprintf() Funkce ukládá výstup do vyrovnávací paměti znaků zadané ve funkci místo tisku výstupu na konzole.

C++

java generátor náhodných čísel




// C++ Program to illustrate the use of sprintf() for number> // to string conversion> #include> using> namespace> std;> int> main()> {> >// any num> >int> n = 12234;> >// string buffer> >char> str[1000];> >// sprintf() to print num to str buffer> >sprintf>(str,>'%d'>, n);> >cout <<>'the string is : '> << str;> >return> 0;> }> // this code is contributed by shivanisingh>

>

java char to int
>

Výstup

the string is : 12234>

Časová náročnost: Na)
Pomocný prostor: Na)

Metoda 4: Použití zesílení lexikálního přetypování

Podobně jako u převodu řetězců zůstává funkce lexical_cast() stejná, ale v „ posílit lexikální obsazení ‘ seznam časových argumentů se upraví na lexical_cast(numeric_var).

Příklad:

C++




// C++ code to demonstrate 'lexical_cast()' method> // to convert number to string.> #include // for lexical_cast()> #include> #include // for string> using> namespace> std;> // Driver Code> int> main()> {> >// Declaring float> >float> f_val = 10.5;> >// Declaring int> >int> i_val = 17;> >// lexical_cast() converts a float into string> >string strf = boost::lexical_cast(f_val);> >// lexical_cast() converts a int into string> >string stri = boost::lexical_cast(i_val);> >// Displaying string converted numbers> >cout <<>'The float value in string is : '>;> >cout << strf << endl;> >cout <<>'The int value in string is : '>;> >cout << stri << endl;> >return> 0;> }>

>

>

Výstup

The float value in string is : 10.5 The int value in string is : 17>

Časová složitost : O(n)
Pomocný prostor : O(n)

array.sort v jazyce Java