Python 소수점 자리수 지정(제한, 조절) 하는 방법 4가지
Python 에서 소수점 자리를 설정하는 4 가지 방법을 알려드리도록 하겠습니다.
목차
- round() 함수를 사용하여 소수점 지정하는 방법
- f-string 을 사용하여 소수점 지정하는 방법
- "{}".format() 함수를 사용하여 소수점 지정하는 방법
- format() 함수를 사용하여 소수점 지정하는 방법
round() 함수를 사용하여 소수점 지정하는 방법
num = 3.14159265358979
print("기존 값 : ", num)
print("소수 첫번째 자리까지 표기: ", round(num, 1))
print("소수 두번째 자리까지 표기: ", round(num, 2))
print("소수 세번째 자리까지 표기: ", round(num, 3))
print("소수 네번째 자리까지 표기: ", round(num, 4))
print("round() 사용 타입 : ", type(round(num, 1)))
# Output
# 기존 값 : 3.14159265358979
# 소수 첫번째 자리까지 표기: 3.1
# 소수 두번째 자리까지 표기: 3.14
# 소수 세번째 자리까지 표기: 3.142
# 소수 네번째 자리까지 표기: 3.1416
# round() 사용 타입 : <class 'float'>
Python에서 반올림할 때 주로 사용하는 round() 함수를 사용하여 소수점 자리수를 지정할 수 있습니다.
round(실수, 표기할 자리수)
위와 같은 방식으로 표기할 자리수를 지정하여 float 값을 얻으실 수 있습니다.
즉, round(실수, 2) 는 '실수를 소수 두번째 자리까지 표기하겠다' 는 의미로 사용하실 수 있습니다.
※ 만약 소수점 자리수를 지정하고 다시 수로서 계산을 할 목적이시라면 round() 를 쓰시는 것을 추천합니다.
앞으로 나올 다른 방법들의 결과물은 float 형식이 아니라 문자열 형식이기 때문에 다시 float형으로 형변환을 해줘야합니다.
f-string 을 사용하여 소수점 지정하는 방법
num1 = 3.14159265358979
num2 = 1234.56789
print(f"기존 값 : {num1} / {num2}")
print(f"소수 첫번째 자리까지 표기: {num1:.1f} / {num2:.1f}")
print(f"소수 두번째 자리까지 표기: {num1:.2f} / {num2:.2f}")
print(f"소수 세번째 자리까지 표기: {num1:.3f} / {num2:.3f}")
print(f"소수 네번째 자리까지 표기: {num1:.4f} / {num2:.4f}")
print("f-string 사용 타입 : ", type(f"{num1:.1f}"))
# Output
# 기존 값 : 3.14159265358979 / 1234.56789
# 소수 첫번째 자리까지 표기: 3.1 / 1234.6
# 소수 두번째 자리까지 표기: 3.14 / 1234.57
# 소수 세번째 자리까지 표기: 3.142 / 1234.568
# 소수 네번째 자리까지 표기: 3.1416 / 1234.5679
# f-string 사용 타입 : <class 'str'>
Python 3.6 버전부터 사용가능한 f-string 기능을 사용하여 소수점 자리수를 지정할 수 있습니다.
f-string 을 사용할 수있도록 따옴표 앞에 f를 붙인 상태에서,
f"{실수:.표기할 자리수f}"
위와 같은 방식으로 표기할 자리수를 지정한 문자열로 출력하실 수 있습니다.
즉, f"{실수:.2f}" 는 '실수를 소수 두번째 자리까지 표기하겠다' 는 의미로 사용하실 수 있습니다.
"{}".format() 함수를 사용하여 소수점 지정하는 방법
num1 = 3.14159265358979
num2 = 1234.56789
print("기존 값 : {} / {}".format(num1, num2))
print("소수 첫번째 자리까지 표기: {:.1f} / {:.1f}".format(num1, num2))
print("소수 두번째 자리까지 표기: {:.2f} / {:.2f}".format(num1, num2))
print("소수 세번째 자리까지 표기: {0:.3f} / {1:.3f}".format(num1, num2))
print("소수 네번째 자리까지 표기: {1:.4f} / {0:.4f}".format(num1, num2))
print("''.format() 사용 타입 : ", type("{:.1f}".format(num1)))
# Output
# 기존 값 : 3.14159265358979 / 1234.56789
# 소수 첫번째 자리까지 표기: 3.1 / 1234.6
# 소수 두번째 자리까지 표기: 3.14 / 1234.57
# 소수 세번째 자리까지 표기: 3.142 / 1234.568
# 소수 네번째 자리까지 표기: 1234.5679 / 3.1416
# ''.format() 사용 타입 : <class 'str'>
Python 문자열 포매팅에 사용하는 format() 함수를 사용하여 소수점 자리수를 지정할 수 있습니다.
"{index:.표기할 자리수f}".foramt(실수)
위와 같은 방식으로 표기할 자리수를 지정한 문자열로 출력하실 수 있습니다.
여기에서 index 값을 생략하면 format()에 입력한 인자 순서대로 값이 들어가게 됩니다.
즉, "{index(생략가능):.2f}".format(실수) 는 '실수를 소수 두번째 자리까지 표기하겠다' 는 의미로 사용하실 수 있습니다.
format() 함수를 사용하여 소수점 지정하는 방법
num = 3.14159265358979
print("기존 값 : ", num)
print("소수 첫번째 자리까지 표기: ", format(num, ".1f"))
print("소수 두번째 자리까지 표기: ", format(num, ".2f"))
print("소수 세번째 자리까지 표기: ", format(num, ".3f"))
print("소수 네번째 자리까지 표기: ", format(num, ".4f"))
print("format() 사용 타입 : ", type(format(num)))
# Output
# 기존 값 : 3.14159265358979
# 소수 첫번째 자리까지 표기: 3.1
# 소수 두번째 자리까지 표기: 3.14
# 소수 세번째 자리까지 표기: 3.142
# 소수 네번째 자리까지 표기: 3.1416
# format() 사용 타입 : <class 'str'>
"{}".format() 방식 말고도,
format(실수, ".표기할 자리수f")
위와 같은 방식으로도 표기할 자리수를 지정한 문자열로 출력하실 수 있습니다.
즉, format(실수, ".2f") 는 '실수를 소수 두번째 자리까지 표기하겠다' 는 의미로 사용하실 수 있습니다.
이상으로 Python 에서 소수점 자리를 지정하는 4가지 방법에 대한 설명을 마치도록 하겠습니다.
도움이 되셨다면 공감, 댓글 부탁드립니다!
궁금하신 점이나 요청사항은 언제든지 말씀해주세요!
피드백도 언제나 환영입니다!
감사합니다.
'Developer > Python' 카테고리의 다른 글
Python pip Upgrade 방법 (How To Upgrade pip in Mac, Windows, Linux) (0) | 2022.04.07 |
---|---|
Python 버전 확인 방법 (How To Check Python Version in Mac, Windows, Linux) (2) | 2022.04.06 |
Python 반올림(round), 올림(ceil), 내림(floor), 소수점 버림(trunc) 하는 방법 (0) | 2022.01.05 |
Python json dump 한글 깨짐 해결 방법 (json 파일 쓰기 한글 유니코드 변환 해결 방법) (0) | 2022.01.04 |
Python JSON file 다루는 방법 (json 파일 읽기, 쓰기, 수정 하는 방법) (0) | 2022.01.03 |
댓글