두 개의 부동 소수점 숫자가 같은지 Python은 어떻게 비교합니까?
관련 권장 사항: "python video"
float 유형은 동등함과 불평등을 비교할 수 없지만 비교할 수는 있습니다>,<,> =,< ;=
==를 사용하는 것은 문법적으로는 정확하지만, 같아야 하는 두 개의 부동 소수점 숫자는 컴퓨터의 내부 표현으로 인해 약간의 오류가 있을 수 있습니다. 이 경우 ==를 사용하면 두 숫자가 같지 않은 것으로 간주됩니다. 두 부동 소수점 수 사이의 차이의 절대값을 허용 가능한 값보다 작게 사용해야 합니다. 예를 들어
if (fabs(price - p) < 0.000001)
대신
if (price == p)
를 사용합니다. 많은 엔지니어링 응용 프로그램에서는 계산 정확도를 사용합니다.
정밀도를 정의하고 차이의 절대값을 사용하여 비교하며, 크기를 직접 비교할 수 있는 정밀도 범위 내에서 동일한 것으로 간주됩니다.
부동 소수점 변수는 "==" 또는 "!="를 사용하여 어떤 숫자와도 비교할 수 없습니다.
float 또는 double 유형의 변수에는 정밀도 제한이 있다는 점에 유의하세요. 따라서 "==" 또는 "!="를 사용하여 부동 소수점 변수를 숫자와 비교하는 것을 피하고 ">=" 또는 "<=" 형식으로 변환해 보십시오.
부동 소수점 변수의 이름이 x라고 가정하면
if (x == 0.0) // 암시적 오류 비교
는
if ((x>=-EPSINON) && (x<=EPSINON))
float a=10.222222225,b=10.222222229
아아아아
위 내용은 두 부동 소수점 숫자가 같은지 비교하는 Python 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!