Saturday, January 06, 2007
Python/파이썬] 문자열을 숫자로 변환; 문자를 정수(int, long), 실수(float)로 바꾸기; String to Number
"123" 이렇게 따옴표에 들어 있는 숫자는, 문자열이지 숫자가 아닙니다. 이것을 123 이런 진짜 숫자로 만드는 방법입니다.
※ 아래 박스 클릭 후, 키보드 화살표 키로 좌우 스크롤 가능함
문자열이 진짜 숫자로 변했기 때문에 +1을 하면 숫자 1이 "더하기"됩니다.
숫자로 변환하지 않고 +1을 하면, cannot concatenate 'str' and 'int' objects (문자열과 정수 오브젝트를 합칠 수 없음) 이런 에러가 납니다.
※ 아래 박스 클릭 후, 키보드 화살표 키로 좌우 스크롤 가능함
반대로, 숫자를 문자열로 변환: ▶▶ Python/파이썬] 숫자를 문자열로 변환, 정수(int), 실수(float)를 문자로; Number to String
문자열이, 숫자로 되어 있는지, 문자로 되어 있는지 판단하는 함수: ▶▶ Python/파이썬] 숫자 여부 판단 함수, 실수/정수인지 문자인지; isNumber isNum isNumeric
문자열을 숫자로: 파이선 3.x 용 예제 소스 코드
파일명: example3.py※ 아래 박스 클릭 후, 키보드 화살표 키로 좌우 스크롤 가능함
#!/usr/bin/python
# -*- coding: cp949 -*-
# 이 파일의 맨 첫줄에 빈줄이 있으면
# SyntaxError: Non-UTF-8 code starting with '\xbc' in file example3.py on line 6,
# but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
# 이런 식의 에러가 납니다.
# "정수 문자열"을 정수로 만들어, 플러스 1 하기
s = "123"
n = int(s) + 1
print (n) # 출력 결과: 124
# 주의: 파이썬 3에서는 print 가 함수이므로 print() 형식이어야 에러가 안 남
# "실수 문자열"을 실수로 만들어, 플러스 1 하기
s = "123.456"
n = float(s) + 1
print (n) # 출력 결과: 124.456
# int() 로 하면 에러 남: ValueError: invalid literal for int() with base 10: '123.456'
# "long형 문자열"을 long형 정수로 만들어, 플러스 1 하기
# 주의!!: 파이썬 3에서는 long 의 이름이 int로 변경되었음
#
s = "999999999999999999999999999999999999999999999"
n = int(s) + 1
print (n) # 출력 결과: 1000000000000000000000000000000000000000000000
# -*- coding: cp949 -*-
# 이 파일의 맨 첫줄에 빈줄이 있으면
# SyntaxError: Non-UTF-8 code starting with '\xbc' in file example3.py on line 6,
# but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
# 이런 식의 에러가 납니다.
# "정수 문자열"을 정수로 만들어, 플러스 1 하기
s = "123"
n = int(s) + 1
print (n) # 출력 결과: 124
# 주의: 파이썬 3에서는 print 가 함수이므로 print() 형식이어야 에러가 안 남
# "실수 문자열"을 실수로 만들어, 플러스 1 하기
s = "123.456"
n = float(s) + 1
print (n) # 출력 결과: 124.456
# int() 로 하면 에러 남: ValueError: invalid literal for int() with base 10: '123.456'
# "long형 문자열"을 long형 정수로 만들어, 플러스 1 하기
# 주의!!: 파이썬 3에서는 long 의 이름이 int로 변경되었음
#
s = "999999999999999999999999999999999999999999999"
n = int(s) + 1
print (n) # 출력 결과: 1000000000000000000000000000000000000000000000
문자열이 진짜 숫자로 변했기 때문에 +1을 하면 숫자 1이 "더하기"됩니다.
숫자로 변환하지 않고 +1을 하면, cannot concatenate 'str' and 'int' objects (문자열과 정수 오브젝트를 합칠 수 없음) 이런 에러가 납니다.
문자를, 진짜 숫자로 변환 예제
( Python 2.x 버전 소스입니다 )※ 아래 박스 클릭 후, 키보드 화살표 키로 좌우 스크롤 가능함
#!/usr/bin/python
# -*- coding: cp949 -*-
# "정수 문자열"을 정수로 만들어, 플러스 1 하기
s = "123"
n = int(s) + 1
print n # 출력 결과: 124
# "실수 문자열"을 실수로 만들어, 플러스 1 하기
s = "123.456"
n = float(s) + 1
print n # 출력 결과: 124.456
# int() 로 하면 에러 남: ValueError: invalid literal for int() with base 10: '123.456'
# "long형 문자열"을 long형 정수로 만들어, 플러스 1 하기
s = "999999999999999999999999999999999999999999999"
n = long(s) + 1
print n # 출력 결과: 1000000000000000000000000000000000000000000000
# -*- coding: cp949 -*-
# "정수 문자열"을 정수로 만들어, 플러스 1 하기
s = "123"
n = int(s) + 1
print n # 출력 결과: 124
# "실수 문자열"을 실수로 만들어, 플러스 1 하기
s = "123.456"
n = float(s) + 1
print n # 출력 결과: 124.456
# int() 로 하면 에러 남: ValueError: invalid literal for int() with base 10: '123.456'
# "long형 문자열"을 long형 정수로 만들어, 플러스 1 하기
s = "999999999999999999999999999999999999999999999"
n = long(s) + 1
print n # 출력 결과: 1000000000000000000000000000000000000000000000
반대로, 숫자를 문자열로 변환: ▶▶ Python/파이썬] 숫자를 문자열로 변환, 정수(int), 실수(float)를 문자로; Number to String
문자열이, 숫자로 되어 있는지, 문자로 되어 있는지 판단하는 함수: ▶▶ Python/파이썬] 숫자 여부 판단 함수, 실수/정수인지 문자인지; isNumber isNum isNumeric
tag: python
Python | 파이썬 프로그래밍
이거 왜 안되는거죠???ㅠㅠ
이거 현재는 안되는건가요?ㅠㅠ
파이썬 버전에 따라서 다릅니다.
파이썬 3용 소스를 방금 업로드했습니다...
감사합니다!!!!
<< Home