• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

%f 질문 드립니다

23.10.20 18:51 작성 조회수 240

0

코드를 다음과 같이했을때,

print('%1.4f' % (3.141592))

 

정수부분은 1자리수까지만 나오고 소수부분은 4자리까지만 나온다고 강의를 해주셨는데요,

 

위 코드를 아래와 같이 정수부분을 3자리까지 나오게끔 코드를 작성하였는데도,

print('%3.4f' % (3256.141592))

 

4자리 정수가 모두 나왔습니다. 1,2,3,4,5를 번갈아가면서 입력해도 4자리 정수가 모두 나왔구요.

 

앞에서 의미하는 정수부분을 제가 잘 못 이해한걸까요?

 

앞에서 말하는 정수부분의 자릿수가 어떤개념인지 궁금합니다.

답변 2

·

답변을 작성해보세요.

0

김준형님의 프로필

김준형

2023.11.06

안녕하세요! '%3.4f' 에서 3은 전체너비를 뜻하는게 아니라 최소 전체 너비를 뜻합니다! 그니까 정수가 전부 출력이 되고 뒤에 소수 4개가 출력되는 거예요!

예를들어 print('%13.4f' % (3256.141592))라면 이것은 최소 넓이 13이라는 것이 그렇다면 출력시 3256.1416 (4칸 앞에 띄고) 이런식으로 나오는 거죠!!

 

그렇다면 print('%6.4f' % (3256.141592))랑 print('%3.4f' % (3256.141592)) 는 그 결과값이 같겠네요!

0

안녕하세요! 열심히 하시네요!

아래 내용처럼 이해하시면 될 것 같습니다. . 을 기준으로 앞자리는 정수부, 뒷자리는 소수부 입니다.

print('%1.8f'%(3.143434343434))

: 정수부1자리, 소수부 8자리

-> 3.143434343

최진명님의 프로필

최진명

질문자

2023.10.23

여기서

print('%2.8f'%(1152.143434343434)) 이런식으로 입력했을 때,

 

정수부분은 1152가 모두 출력이됩니다.

 

왜그런걸까요??