컴퓨터 엑셀 워드 포토숍 구글어스 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