본문 바로가기
Developer/Python

Python 소수점 자리수 지정(제한, 조절) 하는 방법 4가지

by 김씩씩 2022. 1. 10.

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가지 방법에 대한 설명을 마치도록 하겠습니다.

 

 

도움이 되셨다면 공감, 댓글 부탁드립니다!

궁금하신 점이나 요청사항은 언제든지 말씀해주세요!

피드백도 언제나 환영입니다!

 

감사합니다.


댓글