소수 n째 자리까지 출력하기 (round(), %, format(), f-string)

권수민·2023년 9월 18일
1

소수 n째 자리까지 출력하기

몇가지의 방법으로 소수점 출력을 print에서 제어할 수 있다.

1. round()함수

print("결과 : {}".format(solution(121)))# =>결과 : 144.0

원래의 반환값이 144.0이다

print(round(solution(121))) =>144

round()안에 매개변수가 오직 value값만 들어가 있다면 정수 부분만 출력

원래의 반환값이 144.0으로 끝난다면, 아무리 해도 반환된값까지만 나온다.

print(round(solution(121),1)) => 144.0

print(round(solution(121),0)) => 144.0

print(round(solution(121),3)) => 144.0

이렇게 메소드가 아니라 수를 넣어줬을때를 보면 이해가 더 잘 갈것이다.

print(round(3.12345)) => 3
print(round(3.12345,1)) => 소수점 1번쨰 까지 => 3.1
print(round(3.12345,0)) => 소수점을 1번째를 0으로 만들어 반환 => 3.0 
print(round(3.12345,3)) => 소수점 3번쨰 까지 => 3.123

다른 함수와 다르게 바로 문자열없이 함수자체로 표기가 가능하고,
만약 텍스트와 함께 프린트 하길 원한다면 f-string 방식으로 사용하면된다.

print(f"이렇게 {round(3.12345,3)} 사용하면 됩니다.")

나머지 방법은

2.f-string

f"{받을 값이나 함수를 넣고 : 소수점 몇번째.nf} 식으로 작성해주면된다.

print(f"{solution(121):.4f}") #=>144.0000
print(f"{0.43123:.4f}") #=>0.4312

3.format()

기본적인 활용법은

print( "{0}{1}{2}" 텍스트 안의 중괄호 안에 인덱스를 부여하고 .format()을 붙혀 그안에 넣어줄 값을 순서대로 ','로 넣어 주면된다.

print("결과 : {0} {2} {1}".format(solution(121),"나옵니다",'이렇게'))
# =>결과 : 144.0 이렇게 나옵니다

소수점 출력제어의 사용법은

{index:.nf}=> 인덱스 값의 몇번째 소수점.n(=0.n)까지 f를 붙혀주는 것이다

{:.2f}=> format안의 인수가 1나라면 굳이 index를 쓰지 않아도 된다.

print("결과 : {}".format(solution(121)))# =>결과 : 144.0
print("{:0.0f}".format(solution(121)))# =>144
print("{0:0.0f},{1:0.2f}".format(solution(121),2.567))# =>144,2.57
profile
초보개발자

0개의 댓글