2013-08-22 5 views
2

파이썬의 decimal.Decimal 클래스를 사용할 때 우리는 이제 불필요한 소수 자리를 제거해야합니다. 그래서 예를 들어 '0.00'은 '0'이되고 '0.50'은 '0.5'가됩니다. 문자열로 변환하고 수동으로 후행 0 및 중지를 삭제하는 것보다 더 깨끗한 방법이 있습니까?파이썬의 십진수를 사용할 때 관계없는 소수 자리를 버림.

우리가 미리 소수점의 수를 모르고 결과를 동적으로 반올림하고 소수점이 필요하지 않으면 정수 (또는 하나의 문자열 표현)를 출력 할 수 있어야합니다. 내장 된 파이썬?

답변

4

사용 Decimal.normalize :

>>> Decimal('0.00').normalize() 
Decimal('0') 
>>> Decimal('0.50').normalize() 
Decimal('0.5') 
+0

감사합니다. 과거의 맥락으로 정규화 만 사용했습니다. 글로벌 기본 컨텍스트가 재정의 된 경우 어떤 일이 발생하는지 알고 있습니까? – Metalshark