파이썬에서 문자열을 부동 소수점으로 변환하는 방법

소개

이 글에서는 Python의 float() 함수를 사용하여 문자열을 부동 소수점으로 변환할 것입니다. 또한 Python의 str() 함수를 사용하여 부동 소수점을 문자열로 변환할 것입니다.

계산 및 연결에 사용하기 전에 데이터 유형을 올바르게 변환하여 런타임 오류를 방지하기 위해서는 중요합니다.

전제 조건

이 튜토리얼을 완료하려면 다음이 필요합니다:

이 튜토리얼은 Python 3.9.6에서 테스트되었습니다.

float() 함수 사용

우리는 Python에서 float() 함수를 사용하여 문자열을 부동 소수점으로 변환할 수 있습니다. 이 함수는 객체를 부동 소수점 숫자로 변환하는 데 사용되는 내장 함수입니다. 내부적으로 float() 함수는 지정된 객체의 __float__() 함수를 호출합니다.

예시

Python에서 문자열을 부동 소수점으로 변환하는 예시를 살펴보겠습니다:

input_1 = '10.5674'

input_1 = float(input_1)

print(type(input_1))
print('Float Value =', input_1)

결과:

<class 'float'>
Float Value = 10.5674

'10.5674'의 문자열 값이 10.5674의 부동 소수점 값으로 변환되었습니다.

왜 문자열을 부동 소수점으로 변환해야 할까요?

터미널을 통해 사용자 입력으로 부동 소수점 값을 받거나 파일에서 읽어오는 경우, 그들은 문자열 객체입니다. 이를 부동 소수점으로 명시적으로 변환하여 덧셈, 곱셈 등 필요한 작업을 수행할 수 있도록 해야 합니다.

input_1 = input('Please enter first floating point value:\n')
input_1 = float(input_1)

input_2 = input('Please enter second floating point value:\n')
input_2 = float(input_2)

print(f'Sum of {input_1} and {input_2} is {input_1+input_2}')

참고: 만약 f 접두사를 사용한 문자열 포매팅에 익숙하지 않다면, Python에서 f-문자열 사용법을 읽어보세요.

이 코드를 실행하고 input_1input_2에 부동 소수점 값을 제공해 보겠습니다:

Please enter first floating point value:
10.234
Please enter second floating point value:
2.456
Sum of 10.234 and 2.456 is 12.69

결과적으로 10.2342.456의 합은 12.69입니다.

이상적으로는 사용자의 잘못된 입력을 처리하기 위해 try-except 블록을 사용해야 합니다.

str() 함수를 사용하는 방법

또한 str() 함수를 사용하여 부동 소수점을 문자열로 변환할 수 있습니다. 이는 부동 소수점 값을 연결하려는 상황에서 필요할 수 있습니다.

예시

예시를 살펴보겠습니다:

input_1 = 10.23
input_2 = 20.34
input_3 = 30.45

# Python 3.6+에서 f-string을 사용하고, 오래된 버전의 경우 format()으로 변경합니다
print(f'Concatenation of {input_1} and {input_2} is {str(input_1) + str(input_2)}')
print(f'CSV from {input_1}, {input_2} and {input_3}:\n{str(input_1)},{str(input_2)},{str(input_3)}')
print(f'CSV from {input_1}, {input_2} and {input_3}:\n{", ".join([str(input_1),str(input_2),str(input_3)])}')

다음 코드를 실행해 봅시다:

Concatenation of 10.23 and 20.34 is 10.2320.34
CSV from 10.23, 20.34 and 30.45:
10.23,20.34,30.45
CSV from 10.23, 20.34 and 30.45:
10.23, 20.34, 30.45

10.2320.34를 연결하면 문자열 '10.2320.34'이 생성됩니다. 이 코드는 또한 두 가지 버전의 쉼표로 구분된 값(CSV)을 생성합니다.

위 프로그램에서 부동 소수점을 문자열로 변환하지 않으면 join() 함수가 예외를 발생시킵니다. 또한 부동 소수점 숫자를 추가하는 + 연산자를 사용할 수 없습니다.

결론

당신은 우리의 GitHub 저장소에서 완전한 파이썬 스크립트와 더 많은 파이썬 예제를 확인할 수 있습니다.

참고문헌:

Source:
https://www.digitalocean.com/community/tutorials/python-convert-string-to-float