문제

루비에는 두 개의 플로트를 델타와 비교하기 위해 일부 기능/구문이 있습니까? 비슷한 것 assert_in_delta (예상 _float, 실제_float, 델타) ~에서 테스트/단위 하지만 부울을 반환합니까?

도움이 되었습니까?

해결책

(expected_float - actual_float).abs <= delta

다른 팁

응용 프로그램과 부동 소수점 값이 실제로 나타내는 것에 따라 주어진 정밀도로 합리적으로 변환하는 것이 합리적 일 수 있습니다. 합리가 단지 두 정수이기 때문에 직접 비교는 항상 올바르게 행동합니다.

예를 들어, 미국 통화 금액을 다루는 것을 알고 있다면 amount.to_r.round(2) 평등을 정확하게 비교할 수 있습니다.

단지 생각 ... 모든 비 integer 값이 부적절하게 대표되는 플로트 일 필요는 없습니다.

상대 공차 / 델타 계산이 필요할 수도 있습니다.

http://realtimecollisiondetection.net/blog/?p=89

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top