웹사이트 검색

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


소개

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

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

전제 조건

이 자습서를 완료하려면 다음이 필요합니다.

  • Python 3 설치에 익숙함. Python 코딩에 익숙함. Python용 VS 코드.

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

float() 함수 사용

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

Python에서 문자열을 float로 변환하는 예를 살펴보겠습니다.

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로 변환되었습니다.

문자열을 float로 변환해야 하는 이유는 무엇입니까?

터미널을 통해 사용자 입력에서 float 값을 받거나 파일에서 읽는 경우 문자열 개체입니다. 덧셈, 곱셈 등과 같은 필요한 작업을 수행할 수 있도록 명시적으로 float로 변환해야 합니다.

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에 대한 float 값을 제공합니다.

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

# using f-string from Python 3.6+, change to format() for older versions
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(쉼표로 구분된 값)의 두 가지 버전을 생성합니다.

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

결론

GitHub 리포지토리에서 전체 Python 스크립트와 더 많은 Python 예제를 확인할 수 있습니다.

참조:

  • float() 공식 문서