컴퓨터 엑셀 워드 포토숍 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Previous Post C언어 VC++] 컴퓨터 환경변수 구하기/출력 방법; Get-Print Environmen...Python/파이썬] 환경변수 구하기, 출력 os.environ; Get-Print Env...Python/파이썬] 함수 정의 방법, 함수 인수(파라미터), 반환값; def Functi...미국 뉴욕 시내 지도, 위싱턴DC 온라인 상세 지도; New York, NY; 구글맵(Go...MP3 파일 구조, 형식, 포맷 문서 있는 곳; MP3 SpecificationPerl/펄] 환경변수 구하기, 출력 %ENV; Get-Print Environment V...Perl/펄] 빈 줄 삭제, 중복된 빈 줄을 하나로 변환; Delete Empty Line...Perl/펄] 유니코드 파일 정렬(텍스트 소트,소팅); Unicode UTF-8 Text ...Perl/펄] 한글 유니코드 코드 값(번호) 구하기 함수; Hangul Unicode Co...Perl/펄] 달러;$ 골뱅이;@ 퍼센트;% 샤프;# 특수 기호 의미 사용법 예제

Python/파이썬] 문자열을 숫자로 변환; 문자를 정수(int, long), 실수(float)로 바꾸기; String to Number

Saturday, January 06, 2007

"123" 이렇게 따옴표에 들어 있는 숫자는, 문자열이지 숫자가 아닙니다. 이것을 123 이런 진짜 숫자로 만드는 방법입니다.

문자를, 진짜 숫자로 변환 예제
주의: 파이선 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



문자열이 진짜 숫자로 변했기 때문에 +1을 하면 숫자 1이 "더하기"됩니다.

숫자로 변환하지 않고 +1을 하면, cannot concatenate 'str' and 'int' objects (문자열과 정수 오브젝트를 합칠 수 없음) 이런 에러가 납니다.



파이선 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





반대로, 숫자를 문자열로 변환: ▶▶ Python/파이썬] 숫자를 문자열로 변환, 정수(int), 실수(float)를 문자로; Number to String



문자열이, 숫자로 되어 있는지, 문자로 되어 있는지 판단하는 함수: ▶▶ Python/파이썬] 숫자 여부 판단 함수, 실수/정수인지 문자인지; isNumber isNum isNumeric

3 Comments:
At 11:31 PM, Blogger 김송이 said...

이거 왜 안되는거죠???ㅠㅠ

 
At 11:32 PM, Blogger 김송이 said...

이거 현재는 안되는건가요?ㅠㅠ

 
At 11:58 AM, Blogger mwultong said...

파이썬 버전에 따라서 다릅니다.

파이썬 3용 소스를 방금 업로드했습니다...

 

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Categories
Previous Posts
Monthly Archives
Top