Python을 사용하여 문자열을 정수로 변환하는 방법



이 기사에서는 예제를 사용하여 다양한 방법으로 문자열을 정수로 변환하는 방법에 대한 상세하고 포괄적 인 지식을 제공합니다.

이 주제에서는 내장 데이터 유형을 사용하거나 사용하지 않고 문자열을 정수로 변환하는 방법에 대해 알아 봅니다. 문자열은 따옴표로 묶여 순차적으로 배열 된 문자 모음이고 정수는 소수점이없고 어떤 유형의 따옴표로도 묶이지 않은 숫자라는 것을 알고 있습니다.

정수 파이썬 문자열





그러나 한 데이터 유형을 다른 데이터 유형으로 변환하는 방법에 대한 질문이 올 때 Python은 서로 변환하는 쉬운 방법을 제공합니다. 이 경우 다음 순서로 문자열을 정수로 변환하는 방법을 확인합니다.

내장 데이터 유형 사용



어떤 이유로 사용자로부터 입력을 받으면 Python이 입력을 받아 문자열 자체로 반환한다고 가정합니다. 즉, 누군가가 숫자를 입력으로 입력하더라도 Python은 숫자를 문자열로 반환합니다.

name = input ( '당신의 이름은 무엇입니까 :') print (name) print (type (name)) age = input ( '당신의 나이는 무엇입니까 :') print (age) print (type (age))

산출:

당신의 이름은 무엇입니까 : Tyra



타이라

당신의 나이는 무엇입니까 : 20

스물

보시다시피 이름과 나이의 유형은 '문자열'입니다.

이제 나이에 5를 더하고 싶다면 다음을 수행합니다.

PHP 설정 방법
name = input ( '당신의 이름은 무엇입니까 :') print (name) print (type (name)) age = input ( '당신의 나이는 무엇입니까 :') print (age) print (type (age)) print (age + 5)

산출:

당신의 이름은 무엇입니까 : Tyra

타이라

당신의 나이는 무엇입니까 : 20

스물

역 추적 (가장 최근 호출 마지막) :

파일 'C : /Users/prac.py', 9 행, in

인쇄 (나이 +5)

TypeError : int가 아닌 str이어야합니다.

age는 String 유형이고 문자열로 직접 수학을 할 수 없기 때문에 age에 5를 더할 수 없습니다. 그래서 우리는 age를 입력으로 취했고 파이썬은 그것을 String으로 반환하기 때문에 age를 정수로 변경해야합니다.

그 후.

name = input ( '당신의 이름은 무엇입니까 :') print (name) print (type (name)) age = input ( '당신의 나이는 무엇입니까 :') print (age) print (type (age)) age = int ( 나이) print (age + 5)

산출:

당신의 이름은 무엇입니까 : Tyra

타이라

당신의 나이는 무엇입니까 : 20

스물

double을 int로 캐스팅하는 방법

25

기존 방식

내장 함수 int ()를 사용하여 문자열을 정수로 변환하고 싶지 않다고 가정합니다.그래서 우리는 전통적인 방법 변환하다.

자바에서 로거 파일을 만드는 방법

다음은 int ()를 사용하지 않고 변환하는 간단한 방법입니다.

'' ''123 '-> 123'-12332 '-> -12332' ''def str_to_int (input_str) : output_int = 0 if input_str [0] == '-': start_idx = 1 is_negative = True 그렇지 않으면 : start_idx = 0 is_negative = False 범위 (start_idx, len (input_str)) : place = 10 ** (len (input_str)-(i + 1)) digit = ord (input_str [i])-ord ( '0') output_int + = place * digit if is_negative : return -1 * output_int else : return output_int s = '554'x = str_to_int (s) print (type (x)) s = '123'print (str_to_int (s)) s = '-123'print (str_to_int (s))

산출:

123

-123

  • 먼저 사용자가 제공 한 숫자에 마이너스 기호가 포함되어 있는지, 즉 음수인지 여부를 확인합니다.마이너스 기호의 첫 번째 위치에 포함 된 경우 숫자가 포함 된 두 번째 위치에서 변환을 시작합니다.

  • 어떤 숫자 (예 : 123)도 다음 형식으로 쓸 수 있습니다.10 ** 2 * 1 + 10 ** 1 * 2 + 10 ** 0 * 3

  • 마찬가지로, 우리는 단어 (인수) .

  • ord (‘0’)는 48을 반환하고 ord (‘1’)는 49를 반환합니다.

  • 여기서 우리는 ord ( '1') – ord ( '0) = 1, ord ('2 ') – ord ('0 ') = 2 등의 논리를 사용합니다. 입력 번호.

  • 마지막으로 함수에서 얻은 출력은 주어진 입력 문자열에서 변환 한 합법적 인 정수입니다.

보시다시피 int () 함수를 사용하거나 일반적인 방식으로 모든 문자열을 정수로 변환 할 수 있습니다.

개념을 잘 배웠기를 바라며 더 정확하게 시도해 보시기 바랍니다.이 기사를 통해 Python을 사용하여 문자열을 int로 변환하는 방법에 대한 기사가 끝났습니다.

질문이 있으십니까? 이 String to Integer Tutorial의 주석 섹션에 언급 해 주시면 가능한 한 빨리 연락 드리겠습니다.

다양한 응용 프로그램과 함께 Python에 대한 심층적 인 지식을 얻으려면 라이브에 등록 할 수 있습니다. 연중 무휴 지원 및 평생 액세스.