Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 문자열을 숫자로 또는 그 반대로 변환

<시간/>

이 섹션에서는 문자열을 숫자로, 숫자를 문자열로 변환하는 방법을 살펴보겠습니다. 먼저 문자열을 숫자로 변환하는 방법을 살펴보겠습니다.

문자열을 숫자로 변환

여기서는 숫자 문자열을 정수형 데이터로 변환하는 방법을 살펴보겠습니다. atoi() 함수를 사용하여 이 문제를 해결할 수 있습니다. 이 함수는 문자열을 입력으로 받아 정수 데이터로 변환합니다.

atoi() 함수는 라이브러리에 있습니다.

Input: A number string “1234”
Output: 1234

알고리즘

Step 1:Take a number string
Step 2: Convert it to integer using atoi() function
Step 3: Print the result.
Step 4: End

예시 코드

#include<iostream>
#include<cstdlib>
using namespace std;
main() {
   int n;
   char num_string[20] = "1234";
   n = atoi(num_string);
   cout << n;
}

출력

1234

숫자를 문자열로 변환

이 섹션에서는 숫자(정수, 부동 소수점 또는 기타 숫자 유형 데이터)를 문자열로 변환하는 방법을 볼 것입니다.

논리는 매우 간단합니다. 여기서는 sprintf() 함수를 사용합니다. 이 함수는 일부 값이나 줄을 문자열로 인쇄하는 데 사용되지만 콘솔에는 인쇄되지 않습니다. 이것이 printf()와 sprintf()의 유일한 차이점입니다. 여기서 첫 번째 인수는 문자열 버퍼입니다. 데이터를 저장할 위치입니다.

Input: User will put some numeric value say 42.26
Output: This program will return the string equivalent result of that number like “42.26”

알고리즘

Step 1: Take a number from the user
Step 2: Create an empty string buffer to store result
Step 3: Use sprintf() to convert number to string
Step 4: End

예시 코드

#include<stdio.h>
main() {
   char str[20]; //create an empty string to store number
   float number;
   printf("Enter a number: ");
   scanf("%f", &number);
   sprintf(str, "%f", number);//make the number into string using sprintf function
   printf("You have entered: %s", str);
}

출력

Enter a number: 46.3258
You have entered: 46.325802