[Python] 문자열을 숫자로 변환
1. int(), float() 함수
가장 간단한 방법은 int() 함수와 float() 함수를 사용하는 것입니다. 예를 들어, 문자열 "123"을 정수로 변환하려면 다음과 같이 할 수 있습니다.
string = "123"
number = int(string)
print(number) # 123
문자열 "3.14"를 실수로 변환하려면 다음과 같이 할 수 있습니다.
string = "3.14"
number = float(string)
print(number) # 3.14
2. eval() 함수
eval() 함수를 사용할 수 있습니다. eval() 함수는 문자열로 전달된 수식을 계산하고 그 결과를 반환합니다.
string = "123"
number = eval(string)
print(number) # 123
string = "3.14"
number = eval(string)
print(number) # 3.14
하지만, eval() 함수는 보안에 취약하므로 사용을 자제하는 것이 좋습니다.
3. ast.literal_eval() 함수
ast.literal_eval() 함수는 eval() 함수와 비슷하지만, 안전하게 수식을 계산할 수 있도록 제한을 걸어두었다는 장점이 있습니다.
import ast
string = "123"
number = ast.literal_eval(string)
print(number) # 123
문자열이 숫자로 변환이 불가능 한 경우 ValueError가 발생합니다.
string = "abc"
number = int(string) # ValueError: invalid literal for int() with base 10: 'abc'
따라서, 해당 문자열이 숫자로 변환 가능한지 확인해야 합니다.
string = "abc"
if string.isnumeric():
number = int(string)
else:
print("Not valid number")
또는 try, except문을 사용할 수도 있습니다.
string = "abc"
try:
number = int(string)
except ValueError:
print("Not valid number")
반응형
'Tech & Development > Programming Languages' 카테고리의 다른 글
ipywidgets widget 종류와 사용방법 (0) | 2023.03.03 |
---|---|
Jupyter Notebook 인터렉티브(interactive) 기능 추가 - ipywidgets (0) | 2023.02.28 |
[Python] 문자열에서 특정문자 제거 (0) | 2023.01.19 |
[Python] 자료형 - 리스트 (List) (0) | 2023.01.18 |
[Python] 자료형 - 집합(Set) (0) | 2023.01.18 |
댓글
이 글 공유하기
다른 글
-
ipywidgets widget 종류와 사용방법
ipywidgets widget 종류와 사용방법
2023.03.03 -
Jupyter Notebook 인터렉티브(interactive) 기능 추가 - ipywidgets
Jupyter Notebook 인터렉티브(interactive) 기능 추가 - ipywidgets
2023.02.28 -
[Python] 문자열에서 특정문자 제거
[Python] 문자열에서 특정문자 제거
2023.01.19 -
[Python] 자료형 - 리스트 (List)
[Python] 자료형 - 리스트 (List)
2023.01.18