문자를 숫자로 변환 파이썬 - munjaleul susjalo byeonhwan paisseon

Python에서 float(), int() 함수들을 이용하여 문자를 숫자로 변환할 수 있습니다.

1. int()으로 String을 Integer로 변환

int()는 인자로 전달된 문자열을 Integer로 변환합니다.

num_str = '10' print(num_str) print(type(num_str)) num = int(num_str) print(num) print(type(num))

Output:

10 <class 'str'> 10 <class 'int'>

만약 Float 형태의 문자를 int()로 변환하려고 시도하면 ValueError가 발생합니다.

num_str = '10.02' num = int(num_str)

Output:

Traceback (most recent call last): File "/home/js/IdeaProjects/python-examples/inttostr.py", line 2, in <module> num = int(num_str) ValueError: invalid literal for int() with base 10: '10.02'

2. float()으로 String을 Float으로 변환

float()은 인자로 전달된 문자열을 Float으로 변환합니다.

num_str = '10.02' print(num_str) print(type(num_str)) num = float(num_str) print(num) print(type(num))

Output:

10.02 <class 'str'> 10.02 <class 'float'>

소수가 없는 Integer 형태의 문자는 float()으로 변환이 됩니다.

num_str = '10' print(num_str) print(type(num_str)) num = float(num_str) print(num) print(type(num))

Output:

10 <class 'str'> 10.0 <class 'float'>

References

  • RealPython - String

  • Python - asyncio로 비동기 처리 구현
  • Python - 딕셔너리 필터링, 3가지 방법
  • Python - 파일 이름 변경, 3가지 방법
  • Python - pathlib 실행 파일 경로, 작업 디렉토리 확인, 변경
  • Python - 빈 파일 생성, 3가지 방법
  • Python - 리스트 필터링, 3가지 방법
  • Python 명령행 인자 받기 (argparse)
  • Python - venv로 가상환경 구성 및 설정
  • Python - 싱글턴(Singleton) 패턴, 3가지 방법
  • Python - 리스트 복사 (deep, shallow copy)
  • Python - 리스트 역순으로 순회
  • Python - 객체 리스트 정렬
  • Python - 랜덤 float 생성 방법
  • Python - 패킹(packing), 언패킹(unpacking)
  • Python - 객체를 문자열(string)로 변환
  • Python - 리스트를 튜플로 변환, 3가지 방법
  • Python - 튜플을 리스트로 변환, 4가지 방법
  • Python - sum()으로 딕셔너리 합계 계산
  • Python - 2진수를 10진수로 변환
  • Python - Set 요소 추가, 삭제 방법
  • Python - Set 생성 및 초기화 방법

codechachaCopyright ©2019 codechacha

파이썬(Python) 문자를 숫자로 변환해서 숫자에 더하는 방법

파이썬은 문자와 숫자를 “+” 연산자로 더할 수 없습니다. 어떤 프로그램 언어에서는 문자와 숫자를 더할 경우 문자로 자동 변환한 뒤 합칠 수 있습니다. 파이썬은 같은 자료형으로 만들어서 더해야 합니다. 또한 변환할 데이터가 실수 인데 정수 변환 함수인 int() 를 사용하면 에러가 발생합니다. 다른 언어에서는 정수 변환 함수에 실수를 넣으면 소수점은 잘라내고 정수값을 반환하지만 파이썬은 int() 대신 float() 를 사용해야 합니다.

그림처럼 문자열이 저장된 변수 a 와 숫자가 저장된 b “+” 연산자를 사용해서 합칠 수 없습니다.

에러 없이 합치기 위해서는 동일한 자료형으로 만들어야 합니다. int() 함수를 이용해서 a 에 저장된 문자열을 숫자로 바꾼 후 더해 보세요. 에러없이 예상했던 결과값을 얻을 수 있습니다.

a = "100"

b = 100

s = int(a)

print(b + s) # 결과 200

참고로 int() 같은 형 변환 함수는 문자열을 숫자로 변환할 때 공백이 있어도 상관없습니다. 무의미한 공백을 제거하고 숫자로 변환해 줍니다.

a = " 100  "

b = 100

s = int(a)

print(b + s) # 결과 200

만약 변환할 데이터가 실수라면 int() 함수를 사용해서는 안됩니다. 다른 언어에서는 정수 변환 함수에 실수를 넣으면 소수점은 잘라내고 정수값을 반환합니다. 하지만 파이썬은 정확하게 입력해야 합니다. 실수로 변환할 문자열이라면 int() 대신 float() 사용해야 합니다.

a = "100.213"

b = 100

s = int(a)

print(b + s) # 에러 invalid literal for int() with base

float() 함수를 사용해서 a 문자열 데이터를 변환한 후 더해 보세요. 제대로 된 결과값을 얻을 수 있습니다.

a = "100.213"

b = 100

s = float(a)

print(b + s) # 결과 200.213

Toplist

최신 우편물

태그