2012-11-19 2 views
3

가능한 중복 :
drop trailing zeros from decimal최단 동일한 진수 표현

어떻게 동일하게 비교하는 Decimal의 짧은 표현을 어떻게해야합니까? 예를 들어

:

  • Decimal('89.00') ->'89'
  • Decimal('123.010') ->'123.01'
  • Decimal('0.0') ->'0'

현재, 내가 먼저 문자열로 변환 내 자신의 구현을 ,

if chanstr.endswith('0'): 
    chanstr = chanstr[:chanstr.rfind('.')] 

잘 작동하며 단지 2 LOC입니다. 이것을 작성하는 더 좋은 방법이 있습니까?

+0

나는이 질문을 작성한 후에 만 ​​다른 질문을 발견했기 때문에 폐회되었지만,이 질문은 미래의 사람들에게 여전히 유용한 길입니다. – gerrit

답변

5

는이 작업을 달성하기 위해 normalize 방법을 사용할 수 있습니다 :

In [112]: print(decimal.Decimal("89.00").normalize()) 
89 

this answer를 참조하십시오.