Programing

python으로 백분율 값을 인쇄하는 방법?

c10106 2022. 4. 1. 19:03
반응형

python으로 백분율 값을 인쇄하는 방법?

이건 내 암호야

print str(float(1/3))+'%'

그리고 그것은 다음을 보여준다.

0.0%

하지만 나는 얻고 싶다.33%

내가 무엇을 할 수 있을까?

format 백분율 부동 소수점 정밀도 유형 지원:

>>> print "{0:.0%}".format(1./3)
33%

정수 분할을 원하지 않는 경우:에서 Python3의 분할을 가져올 수 있다.

>>> from __future__ import division
>>> 1 / 3
0.3333333333333333

# The above 33% example would could now be written without the explicit
# float conversion:
>>> print "{0:.0f}%".format(1/3 * 100)
33%

# Or even shorter using the format mini language:
>>> print "{:.0%}".format(1/3)
33%

에 대해 보다 편리한 '%' 포맷 옵션이 있다..format()형식 지정 방법:

>>> '{:.1%}'.format(1/3.0)
'33.3%'

단지 완전성을 위해, 나는 아무도 이 간단한 접근법을 제안하지 않았다는 것을 알아차렸기 때문에:

>>> print("%.0f%%" % (100 * 1.0/3))
33%

세부사항:

  • %.0f"소수가 0인 플로트 인쇄"를 의미하므로%.2f인쇄할 것이다33.33
  • %%문자 그대로 인쇄하다.%. 당신의 원본보다 조금 더 깨끗한.+'%'
  • 1.0대신에1사단이 떠다니도록 강요하는 일을 처리하므로 더 이상 하지 않는다.0.0

Python 3 f-string 솔루션을 추가하기 위해

prob = 1.0/3.0
print(f"{prob:.0%}")

정수를 나눈 다음 부동으로 변환하는 것이다.대신 부유물로 나누어라.

또한 여기에 설명된 멋진 문자열 형식 지정 방법을 사용하십시오. http://docs.python.org/library/string.html#format-specification-mini-language

백분율 변환 및 정밀도를 지정하는 방법.

>>> float(1) / float(3)
[Out] 0.33333333333333331

>>> 1.0/3.0
[Out] 0.33333333333333331

>>> '{0:.0%}'.format(1.0/3.0) # use string formatting to specify precision
[Out] '33%'

>>> '{percent:.2%}'.format(percent=1.0/3.0)
[Out] '33.33%'

멋진 보석!

그럼 대신 이렇게 하는게 좋을거야.

print str(int(1.0/3.0*100))+'%'

.0그들을 부유물이고int()그 후에 다시 정수로 돌린다.

나는 이것을 사용한다.

ratio = round(1/3, 2) 
print(f"{ratio} %")

output: 0.33 %

참조URL: https://stackoverflow.com/questions/5306756/how-to-print-a-percentage-value-in-python

반응형