C++/C++심화

[C++]17. string 데이터를 int형 데이터로 변경하는 방법(string to int)

뼈민 2020. 4. 11. 14:03
반응형

 

 

 

 

[C++]17. string 데이터를 int형 데이터로 변경하는 방법(string to int)

 

 

 

안녕하세요 고급 개발자가 꿈인 코린이 입니다.

 

오늘은 지난 포스팅과 다르게 string 데이터를 int형 데이터로 변경하는 방법에 대해서 포스팅 하겠습니다.

 

프로그래밍을 하다보면 string 데이터를 int형식으로 바꾸어 줄때가 많습니다.

 

이미 프로토콜은 int형식으로 정해저 있어서 프로세스간 통신을 할때 무조건 int형 데이터를 보내야하는데

 

이 보낼 데이터의 원본은 string형식일때는 타입을 int형에서 string형식으로 바꿔주어야 합니다.

 

이럴때 사용하는 것이 atoi 입니다.

 

string 데이터를 숫자형 데이터로 변경하는 방법에는 여러가지가 있는데요 string 형식을 int형으로 변경할때는

 

atoi라는 것을 사용하면 되고 string 형 데이터를 long형으로 변경할때는 atol를 

 

string 형 데이터를 double형으로 변경할때는 atof를 사용하면 됩니다.

 

아래 코드를 보면서 설명 드리겠습니다.

 

string to int

std::atoi()

 

string to long

std::atol()

 

string to double

std::atof()

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
 
using namespace std;
int main()
{
    std::string stringData = "100.0";
 
    std::printf("stringData: %s \n", stringData.c_str());
 
    int intData = 0;
    long longData = 0;
    double doubleData = 0.0;
 
    intData = std::atoi(stringData.c_str());
 
    longData = std::atol(stringData.c_str());
 
    doubleData = std::atof(stringData.c_str());
 
    std::printf("intData: %d \n", intData);// int 형 데이터를 출력
 
    std::printf("longData: %ld \n", longData);// long형 데이터를 출력
 
    std::printf("doubleData: %.1lf \n", doubleData);// double 데이터를 소수점 1자리까지 출력
 
    return 0;
}
 
 
 
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
 

 

 

위의 코드를 보시면 각 형식에 따라 이름을 정해두고 int,long,double형으로 타입을 변경 시켰습니다.

 

double형은 소수점 1자리 까지만 찍히게 하기 위해서 %.1lf를 이용해서 데이터들을 출력해 주었구요 

 

long형식은 %ld int 형식은 %d를 사용해서 각각의 데이터 형식에 맞게 prinf를 해주었습니다.

 

여기 까지 string 데이터를 숫자 데이터로 변경하는 내용을 다루어 보았습니다.

 

읽어 주셔서 감사합니다.!!

 

 

 

 

 

반응형