Python의 eval 문제
仅有的幸福
仅有的幸福 2017-06-22 11:52:25
0
3
1022

그림에 표시된 것처럼 Python2.7이 eval을 사용하여 부동 소수점 표현식을 계산할 때,

으아악

온라인에서 답변을 찾을 수 없어서 매우 혼란스럽습니다. 안내해 주세요.


업데이트:

또 다른 질문이 있습니다.
a=0.3-0.1, print(a) 출력 0.19999999999999998; b=0.2,
print('%s==%s'%(a,b)) 출력 0.2 ==0.2,
문자열 형식을 지정할 때 0.19999999999999998에서 0.2로 변경되는 이유는 무엇입니까?

仅有的幸福
仅有的幸福

모든 응답(3)
phpcn_u1582

일반적으로 컴퓨터에서 직접 사용할 수 없습니다. == 두 개의 부동 소수점 숫자가 같은지 비교하세요.

부동소수점 값은 컴퓨터에서 오류가 있기 때문이죠.

Python에는 고정밀 부동 소수점 계산을 위한 decimalfraction 2개의 모듈이 있습니다.


으아악
仅有的幸福

이것은 eval과 관련이 없으며 주로 정확성의 문제입니다. 이는 모든 프로그래밍 언어에서 발생합니다. 0.3-0.1 == 0.2를 시도하면 Baidu JavaScript 0.2-0.1 문제가 직접 반환됩니다. 그런 다음 "컴퓨터 구성의 원리" 》초기 데이터 표현을 살펴보세요.

https://stackoverflow.com/que... 이것은 많은 투표를 받은 답변입니다.

为情所困

으아악

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿