logo

Konvertera nummer till sträng i C++

I C++ är att konvertera heltal till strängar eller konvertera tal till strängar eller vice versa faktiskt ett stort paradigmskifte i sig. I allmänhet eller mer specifikt inom konkurrenskraftig programmering finns det många fall där vi behöver konvertera ett tal till en sträng eller sträng till ett tal. Låt oss titta på några metoder för att konvertera ett heltal eller ett tal till en sträng.

katodstrålerörsmonitor

Konvertera nummer till sträng i C++

Det finns 4 huvudmetoder för att konvertera ett tal till en sträng , som är följande:



    Använda to_string() Använda sträng Stream Använda sprintf()-funktionen Använda boost lexical cast

Metod 1: Använd to_string()

De att stränga() funktion kan användas för att konvertera ett heltal, flyttalsvärden eller valfritt tal till en sträng. Den här funktionen accepterar ett tal (som kan vara vilken datatyp som helst) och returnerar numret som önskad sträng.

Syntax :

string  to_string (int val );>

Parametrar:



  • val – Alla numeriska värden.

Returvärde:

  • Ett strängobjekt som innehåller representationen av värde som en sekvens av tecken.

Exempel :

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;> }>

>

>

Produktion

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

Tidskomplexitet: På)
Hjälputrymme: På)

java boolesk sträng

Metod 2: Använd strängströmmar

I den här metoden deklarerar en strängström ett strömobjekt som först infogar ett nummer, som en ström i ett objekt och sedan använder str() att följa den interna omvandlingen av ett tal till en sträng.

Exempel:

C++




världens vackraste leende
// 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;> }>

>

>

Produktion

The newly formed string from number is : 2016>

Tidskomplexitet: På)
Hjälputrymme: På)

Metod 3: Använda funktionen sprintf().

sprintf() funktion lagrar utdata på char-bufferten som anges i funktionen, istället för att skriva ut utdata på konsolen.

C++




// 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>

>

>

Produktion

the string is : 12234>

Tidskomplexitet: På)
Hjälputrymme: På)

gör medan java

Metod 4: Använd boost lexical cast

I likhet med strängkonvertering förblir funktionen lexical_cast() densamma, men i öka lexikal rollbesättning ' tidsargumentlistan ändras till lexical_cast(numeric_var).

Exempel:

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;> }>

>

upphöjd i illustrator
>

Produktion

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

Tidskomplexitet :O(n)
Hjälputrymme :O(n)