C++에서 숫자를 문자열로 변환

C++에서 정수를 문자열로 변환하거나 숫자를 문자열로 또는 그 반대로 변환하는 것은 실제로 그 자체로 큰 패러다임 변화입니다. 일반적으로 또는 좀 더 구체적으로 경쟁 프로그래밍에서는 숫자를 문자열로 변환하거나 문자열을 숫자로 변환해야 하는 경우가 많습니다. 정수나 숫자를 문자열로 변환하는 몇 가지 방법을 살펴보겠습니다.

C++에서 숫자를 문자열로 변환

있다 숫자를 문자열로 변환하는 4가지 주요 방법 , 이는 다음과 같습니다:

    to_string() 사용 문자열 스트림 사용 sprintf() 함수 사용 부스트 어휘 캐스트 사용

방법 1: to_string() 사용

그만큼 to_string() 함수를 사용하여 정수, 부동 소수점 값 또는 숫자를 문자열로 변환할 수 있습니다. 이 함수는 숫자(모든 데이터 유형일 수 있음)를 허용하고 숫자를 원하는 문자열로 반환합니다.

통사론 :

string  to_string (int val ); 

매개변수:

  • – 모든 숫자 값.

반환 값:

  • 값을 일련의 문자로 표현한 문자열 개체입니다.

:

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

산출

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

시간 복잡도: 에)
보조 공간: 에)

방법 2: 문자열 스트림 사용

이 방법에서 문자열 스트림은 먼저 숫자를 개체에 스트림으로 삽입한 다음 다음을 사용하는 스트림 개체를 선언합니다. str() 숫자를 문자열로 내부 변환하는 과정을 따릅니다.

예:

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

산출

The newly formed string from number is : 2016 

시간 복잡도: 에)
보조 공간: 에)

방법 3: sprintf() 함수 사용

스프린트프() 함수는 콘솔에 출력을 인쇄하는 대신 함수에 지정된 char 버퍼에 출력을 저장합니다.

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>

산출

the string is : 12234 

시간 복잡도: 에)
보조 공간: 에)

방법 4: 부스트 어휘 캐스트 사용

문자열 변환과 유사하게 lexical_cast() 함수는 동일하게 유지되지만 ' 어휘 캐스트 강화 ' 시간 인수 목록은 lexical_cast(numeric_var)로 수정됩니다.

예:

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

산출

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

시간 복잡도 : 에)
보조 공간 : 에)