2014-04-10 1 views
4

파이썬에서는 분수 구분이 적용되지 않습니다. 예를 들어 ,파이썬에서 분수 구분이 적용되지 않는 나머지는

>>> 59.28%3.12 
3.119999999999999 
>>> 59.28/3.12 
19.0 

, 나는 수레에 대한 모듈로 구현의 세부 사항을 알고하지 않는 이유를 모르겠어요 59.28 % 3.12

+2

https://docs.python.org/2/tutorial/floatingpoint.html –

+5

다른 옵션 : '10 진수 ("59.28") % 10 진수 ("3.12") – freakish

+0

부동 소수점은 정확하지 않으므로 근사치. –

답변

2

의 출력으로 0.0을 얻을 수있는 방법이 있습니까, 그러나이 잘 작동 :

from decimal import Decimal 
Decimal("59.28") % Decimal("3.12") 

편집 : 당신이 생성자에서 따옴표 " (즉, 문자열)를 사용해야합니다 참고. 그렇지 않으면 두 숫자를 문제의 원인 인 부동 소수점으로 해석하려고 시도합니다 (잘못된 근사값).

+2

부동 소수점 숫자는 * approximations *이고, Decimal()은 더 나은 근사값입니다 (하드웨어 지원이 필요하지 않음). –

+1

@MartijnPieters 아 물론, Decimal (59.28) % Decimal (3.12)에 대해서도 잘못된 결과가 나온다. – freakish

+0

정말 고마워요, 당신은 우리 시대를 보냈습니다! –