이중 값을 누락 된 값을 표시하는 미리 정의 된 상수와 비교하는 코드에서 작업하고 있습니다. 그들은 특정 요구 사항을 충족하지 않는 경우이 값이 (여기 input
)를 변수에 할당하는 방식으로 사용됩니다Double # equals와 같은 double 상수와 scala를 비교하면 저장됩니까?
val BAD = -9999.9
val verified = if(isQualityOk(input)) input else BAD
, 다시 그들이 좋은 또는 아닌지 확인되는 번호 :
if(!myNumber.equals(BAD)) {
// do something with it
}
나는, 따라서이되는 자신의 차의 절대 값을 비교하는 것이 좋습니다 일반적으로 오류로 인해 (유한 기계 정밀도를) 반올림의 "동일"을 사용하여 플로트/두 값을 비교하는 나쁜 생각이라고 알고 있어요 특정 한도 아래서
제 질문 : 위의 예에서 번호가있는 수학을 사용하지 않는 경우에도 이것이 필요합니까? 또는이 경우에 Double#equals
구현을 사용하는 것이 안전할까요?
감사합니다. 이 기능이 작동하지 않는다는 것을 완전히 알고 있습니다. 기존 코드를 검토하고 있습니다. 내 예도 간소화되었지만 좋은/나쁜 두 가지 상수가 아닌 1 개 이상의 '플래그'가 있습니다. –